e
Владельцы многих сайтов устанавливают на свой сайт опцию поиска. Это помогает пользователям найти нужную информацию на сайте в считанные секунды. В этой статье мы расскажем, как работает полнотекстовый поиск в Sphinx Search.
Существует несколько типов поиска:
Рассмотрим подробнее последний тип. Первые программы полнотекстового поиска сканировали содержимое каждого документа в базе. Это занимало очень много времени и вычислительной мощности.
В основе же современных алгоритмов поиска лежит индекс. Все слова и буквосочетания из документов загружаются в индекс (этот процесс называется индексацией). И, когда пользователь вводит свой поисковый запрос, поиск происходит по этому индексу, а не содержимому документов. Поисковик принимает запрос от клиента и ищет совпадения в индексе, опираясь на связь запроса с документом.
Поисковик начинает проверку совпадений с первого символа, чтобы сузить область поиска. Затем он добавляет последующие символы и передаёт результаты, сортируя их по точности.
Такая система значительно повышает скорость поиска нужных документов. В то время, как индекс 10 000 документов может быть опрошен в пределах миллисекунд, последовательный просмотр каждого слова в 10 000 больших документов мог бы занять часы.
Sphinx (SQL Phrase Index) — это система полнотекстового поиска, которая разработана Андреем Аксёновым и впервые выпущена в 2001 году. Изначально Сфинкс была системой с открытым кодом, но начиная с версии Sphinx 3 стала проприетарной — создатели закрыли исходный код.
Sphinx написана на языке C++ и способна интегрироваться в популярные СУБД (например, PostgreSQL или MySQL). Также в ней есть API для популярных языков веб-программирования.
API или Application Programming Interface — это перечень способов, которыми одна программа может взаимодействовать с другой. Он включает в себя действие, которое можно выполнить, входные и выходные данные. Благодаря API код сайта получает массив идентификаторов тех записей, которые нашлись по поисковому запросу. Затем идентификаторы сопоставляются с теми, которые указаны в базе данных сайта.
В Сфинкс существуют официальные API. Они созданы для следующих языков:
Также сообщество разработало API для .NET и Elixir.
Sphinx как поисковая машина имеет следующие преимущества:
Sphinx поддерживает:
Поисковая машина Sphinx используется для создания поиска по сайту или определённой странице. Он встроен в CMS:
Для WordPress и Yii2 можно установить плагин. После этого поиск станет доступным.
На основе кода Sphinx созданы новые ветки ПО, которые называются форками. Так в 2017 году члены первоначальной команды разработки Sphinx разработали форк под названием Manticore.
Manticore — это бесплатная база данных с открытым кодом, которая создана специально для поиска. Это ответвление можно считать полноценным продолжением Sphinx, так как авторы сохранили первоначальные возможности и усовершенствовали их. Вот что добавили в Manticore:
⌘⌘⌘
Надеемся, что статья оказалась для вас полезной и помогла понять, как работает полнотекстовый поиск в Sphinx.
В мире, где ежедневные задачи сыплются как из рога изобилия, а список дел растет быстрее,…
Эффективный инструмент или дань моде? Рассказываем, зачем малому и среднему бизнесу свой сайт и как…
Рег.решение для профессионалов «Развитие личного бренда» — это готовая система, которая за 3 недели создаст…
Анализ рынка — это как разведка перед боем: прежде чем вложить деньги, запускать продукт или…
Когда бизнес растет, поток данных о клиентах превращается в лавину. Рекламные кампании, подписки, заказы, возвраты…
Представьте: вы приходите в новую компанию. Все новое — люди, процессы, правила, даже корпоративные чаты.…