محرك البحث الذي يستضيفه ذاتيًا يمكنك استخدامه لمدونتك الثابتة أو حول أي موقع ويب آخر تريد وظائف البحث عنه.
مثالي المباشر موجود في http://search.cweiske.de/ وفهرسة موقع الويب الخاص بي ، مدونة وجميع عناوين URL المرتبطة.
foo bar عن foo AND barfoo OR bartitle:foo يبحث عن foo فقط في عنوان الصفحةbefore:2016-08-30 -تاريخ التعديل قبل ذلك اليومafter:2016-08-30 -تم تعديله بعد ذلك اليومdate::2016-08-30 -مباراة يوم التعديل الدقيقfoo bar site:example.org/dir/site GET Parameter: /?q=foo&site=example.org/dir =foo&site= example.org/dirgearman-job-server ، وليس gearman-server )gearadmin (حزمة gearman-tools )تثبيت وتشغيل Elasticsearch و Gearman
تثبيت php-gearman و gearman-tools
احصل على نسخة محلية من الرمز:
$ git clone https://git.cweiske.de/phinde.git phinde
تثبيت التبعيات عبر الملحن:
تثبيت $ composer-لا ديف
أشر جذر مستند WebSTREVER إلى دليل www الخاص بـ Phinde
انسخ data/config.php.dist إلى data/config.php وضبطها. تأكد من إضافة مجالك إلى القائمة البيضاء الزحف.
قم بإنشاء قاعدة بيانات MySQL واستيراد المخطط من data/schema.sql
قم بتشغيل bin/setup.php الذي يقوم بإعداد مخطط Elasticsearch
ضع صفحتك الرئيسية في قائمة الانتظار:
$ ./bin/process.php http://example.org/
ابدأ عاملًا واحدًا على الأقل لمعالجة قائمة انتظار الفهرس+الزحف:
$ ./bin/phinde-work.php
تحقق من صفحة حالة Phinde في متصفحك. يجب أن يكون عدد المهام المفتوحة> 0 ، وعدد العمال أيضًا.
عندما يتغير موقعك ، يحتاج محرك البحث إلى إعادة صياغة الصفحات وإعادة الفحص.
ببساطة أخبر Phinde أن شيئًا ما قد تغير عن طريق الجري:
$ ./bin/process.php http://example.org/foo.htm
يدعم Phinde صفحات HTML و Atom Feeds ، لذلك إذا كانت مدونتك تحتوي على موجز ، فهذا يكفي للسماح لـ Phinde Reindex بذلك. ستجد جميع الصفحات المرتبطة تلقائيًا.
من السهل إضافة نموذج بحث بسيط إلى موقع الويب الخاص بك. يحتاج إلى شيئين:
<form> علامة مع إجراء يشير إلى مثيل Phindeqمثال:
<form method = "get" Action = "http://phinde.example.org"> <type type = "text" name = "q" placeholder = "Search Text"/> <button type = "submit"> Search </utton> </form>
عند استخدام SystemD ، يمكنك السماح لها بتشغيل مثيلات عامل متعددة عندما يقوم النظام بتعبئة:
نسخ بيانات data/systemd/phinde*.service إلى /etc/systemd/system/
اضبط أسماء المستخدم والمجموعات ، وأدلة العمل
تمكين ثلاث عمليات عامل:
$ systemctl daemon-reload $ systemctl تمكين phinde@1 $ systemctl تمكين phinde@2 $ systemctl تمكين phinde@3 $ systemctl تمكين Phinde $ systemctl ابدأ phinde
الآن ثلاثة عمال يركضون. إعادة تشغيل خدمة phinde أيضا إعادة تشغيل العمال.
قم بتشغيل bin/renew-subscriptions.php مرة واحدة في اليوم مع Cron. سوف تجدد اشتراكات Websub.
حذف بيانات الفهرس من مجال واحد:
$ curl -iv -xdelete -h 'content -type: application/json' -d '{"query": {"term": {"domain": "example.org"}}}' http://127.0.0.1:9200/phinde/_query
This is Delete-By-Query 2.0 ، انظر https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/delete-by-query-usage.html
يدعم Phinde Websub للحصول على اشتراك في تغييرات موقع الويب. عندما يتم إخطار Phinde بواسطة مركز موقع الويب حول التغييرات ، فإنه سيزحف على الفور وفهرس الصفحات التي تم تغييرها.
اشترك في موجز موقع الويب:
$ php bin/conscribe.php http://example.org/feed.atom
ستحدد Phinde مركز موقع الويب وإرسال طلب تسجيل إليه.
ستعرض صفحة الحالة عدد العمل ، وعدد الاشتراكات المفتوحة.
يحدث إلغاء الاشتراك أيضًا على سطر الأوامر:
$ php bin/unbscribe.php http://example.org/feed.atom
رمز مصدر Phinde متاح من http://git.cweiske.de/phinde.git أو المرآة على github.
تم ترخيص Phinde بموجب AGPL V3 أو أحدث.
كتب Phinde من قبل كريستيان ويسك.