Я хочу самостоятельно разместить поисковую систему, которая индексирует мои статические веб-сайты.
Я не хочу использовать CMS (которая обычно имеет встроенную поисковую систему) для этих сайтов и не хочу направлять своих посетителей к сторонним службам поисковых систем.
Это не обязательно должна быть удобная поисковая система (например, Google, Bing и т. д.), она в основном предназначена для опытных пользователей, поэтому может потребоваться сложный синтаксис поиска.
Формальности:
Поисковик должен быть FLOSS.
Он должен работать на сервере GNU/Linux.
Он не должен использовать Java (я знаю, что есть несколько хороших проектов поисковых систем на Java, но, к сожалению, мой хост не поддерживает его).
Серверная часть:
Поисковая система должна индексировать (X)HTML5. Поддержка других форматов не требуется.
Я не хочу, чтобы сканер самостоятельно находил мои страницы. Вместо этого я хочу предоставить список URL-адресов, которые следует сканировать (в идеале с поддержкой одного из форматов sitemaps.org ).
Я не хочу добавлять метаданные о документах где-то еще, кроме самих документов.
Внешний интерфейс:
Индексация: в дополнение к полному тексту он должен индексировать как можно больше сигналов (например, в виде пар «имя-значение»), таких как метатеги, RDFa/JSON-LD, семантические элементы и т. д.
SERP: я хочу иметь возможность определять, как должны выглядеть результаты в зависимости от проиндексированных данных. Подобно расширенным сниппетам Google . Например: показать изображение, список, короткую таблицу и т. д.
Ранжирование: я хотел бы иметь возможность настроить алгоритм ранжирования, например, присваивая каждому полю определенный балл/приоритет.
Операторы поиска: он должен, по крайней мере, поддерживать логическое значение AND
/ OR
/ NOT
и скобки (например, (laptop OR notebook) (review OR reviews) -netbook
). Чем больше операторов, тем лучше (поиск по фразе/диапазону/близости; поиск по полю; специальные символы, регистрозависимость и т. д.).
Как насчет старого доброго ht:dig ?
Последний выпуск выпущен в 2004 году, поэтому я не уверен, как он индексирует новые элементы, представленные в HTML5.
Поддержка текстовых форматов, отличных от HTML (PDF, DOCX...), также неоптимальна, но этого не было в вашем списке требований.
Я также рекомендую sphinx — см. sphinxsearch.com
Sphinx — это сервер полнотекстового поиска с открытым исходным кодом, разработанный с нуля с учетом производительности, релевантности (то есть качества поиска) и простоты интеграции. Он написан на C++ и работает в Linux (RedHat, Ubuntu и т. д.), Windows, MacOS, Solaris, FreeBSD и некоторых других системах.
Sphinx позволяет быстро и легко пакетно индексировать и искать данные, хранящиеся в базе данных SQL, хранилище NoSQL или только в файлах, или индексировать и искать данные на лету, работая со Sphinx практически так же, как с сервером базы данных.
У меня есть только хорошие впечатления от его использования в Linux и Windows.
Мог говорит восстановить Монику
ненор