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.
Владение брендом без юридической защиты — это риск. Конкуренты могут использовать ваше название, а защитить…
С 1 сентября 2026 года для доменов в зонах .ru, .рф и .su потребуется идентификация…
Индивидуальный предприниматель платит налог по ставке 4% или 6%, не сдает декларации и не обязан…
Подбор ключевых слов — первый шаг к эффективному продвижению вашего сайта в поисковых системах. Это…
Думаете о том, чтобы производить и продавать свои соусы, хлеб или косметические средства из натуральных…
Два менеджера не разговаривают, бухгалтер обиделся на логиста, основатель в роли арбитра. В малом бизнесе…