Поисковая система самостоятельно отправлена для своего статического блога или о любом другом веб-сайте, для которого вы хотите функциональности поиска.
Мой живой экземпляр на 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 , получите параметр: /?q=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 install--no-dev
Укажите документ вашего веб -сервера корень в каталог Phinde's www
Скопируйте data/config.php.dist в data/config.php и настроить их. Убедитесь, что вы добавите свой домен в белый список ползания.
Создайте базу данных MySQL и импортируйте схему из data/schema.sql
Запустите bin/setup.php , которая устанавливает схему Elasticsearch
Поместите свою домашнюю страницу в очередь:
$ ./bin/process.php http://example.org/
Начните хотя бы одного работника, чтобы обработать очередь об индексе Crawl+:
$ ./bin/phinde-worker.php
Проверьте страницу статуса Phinde в вашем браузере. Количество открытых задач должно быть> 0, количество работников также.
Когда ваш сайт изменился, поисковой системе необходимо повторно обвереть и повторно индекс страниц.
Просто скажите Phinde, что что -то изменилось, работая:
$ ./bin/process.php http://example.org/foo.htm
Phinde поддерживает HTML -страницы и атомные каналы, поэтому, если ваш блог имеет корм, достаточно, чтобы позволить Phinde Reindex это. Он найдет все связанные страницы автоматически.
Добавить простую форму поиска на ваш сайт легко. Это нужно две вещи:
<form> Tag с действием, которое указывает на экземпляр PhindeqПример:
<form method = "get" action = "http://phinde.example.org"> <input type = "text" name = "q" Placeholder = "Поиск текст"/> <button type = "Отправить"> Search </button> </form>
При использовании SystemD вы можете позволить ему запустить несколько экземпляров работников, когда система загружается:
Скопировать файлы data/systemd/phinde*.service в /etc/systemd/system/
Сделайте имена пользователей и групп, а также рабочие каталоги
Включить три рабочих процесса:
$ SystemCtl Daemon-Reload $ systemCtl включить phinde@1 $ systemCtl включить phinde@2 $ systemCtl включить phinde@3 $ systemCtl включить Phinde $ SystemCtl Start Phinde
Теперь три работника работают. Перезагрузка службы phinde также перезапускает работников.
Запустите bin/renew-subscriptions.php один раз в день с Cron. Это продлевает подписки WebSub.
Удалить данные индекса из одного домена:
$ curl -iv -xdelete -h '' content -type: application/json '-d' {"Query": {"term": {"domain": "Пример.org"}}} 'http://127.0.0.1:9200/phinde/_query
Это 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/adpcribe.php http://example.org/feed.atom
Phinde определит центр веб -сайта и отправит ему запрос на регистрацию.
На странице статуса будет показано количество работы и количество открытых подписок.
Отказ от подписки также происходит в командной строке:
$ php bin/unsubscribe.php http://example.org/feed.atom
Исходный код Phinde доступен по адресу http://git.cweiske.de/phinde.git или зеркала на Github.
Phinde лицензирована в соответствии с AGPL V3 или более поздней версии.
Финде была написана Кристианом Вейске.