[Перевод] Как на wine.co.za упростили поиск по архиву из примерно 145 тысяч записей с помощью Manticore Search

Как на wine.co.za упростили поиск по архиву из примерно 145 тысяч записей с помощью Manticore Search
Как wine.co.za использует Manticore Search вместе с MariaDB, чтобы сделать поиск по архиву винодельческой отрасли удобнее, улучшить подсказки и тратить минимум времени на обслуживание.
На wine.co.za ищут не только вино.
В архиве сайта собрана самая разная информация о винодельческой отрасли ЮАР: сведения о винах и винодельнях, контакты, данные о зарубежных агентах, новости и объявления. Одни посетители ищут конкретного производителя или старую статью, другие — вино, которое могут описать, но не знают его названия.
Раньше поиск на wine.co.za выполнялся напрямую в MariaDB с помощью полнотекстовых индексов и запросов с подстановочными символами. Такой подход работал, но пользователям приходилось довольно точно формулировать запросы.
С Manticore Search поиск стал гибче, а подсказки при наборе запроса — полезнее. Кевин Кидсон, ИТ-директор WineNet, ценит и то, что поисковая система почти не требует внимания:
«Просто чертовски надёжно: настроил и забыл. Уже много лет работает как часы».
Архив винодельческой отрасли ЮАР
Manticore отвечает за поиск во всех разделах wine.co.za. В анкете Кевин привёл такие цифры:
Категория | Количество записей |
|---|---|
Винодельни | 907 |
Вина | 45 833 |
Контакты | 4 644 |
Зарубежные агенты | 3 447 |
Новости | 41 602 |
Объявления | 48 482 |
Всего в перечисленных категориях | 144 915 |
Помимо перечисленного, в поиск включены ещё несколько небольших баз данных. По словам Кевина, wine.co.za — это архив винодельческой отрасли ЮАР, в котором важна каждая запись.
Цель была простой: упростить поиск по всем этим данным. Для этого требовалась система, которую легко настроить и использовать вместе с существующим приложением.
До Manticore: нужно было знать, что вводить в поиск
По словам Кевина, раньше для поиска использовались полнотекстовые индексы и запросы с подстановочными символами — по шаблонам вроде xx* и xx%.
«Пользователю нужно было знать, что он ищет, или хотя бы с каких букв начинается название».
Такой поиск был неудобен, если посетитель представлял, какое вино ему нужно, но не знал названия. Например, он мог бы ввести:
dry chenin stellenbosch
Эти три слова описывают стиль вина, сорт винограда и регион. По словам Кевина, возможность объединить их в одном запросе стала самым важным улучшением после перехода на Manticore.
«Теперь я могу объединять слова в запросе — например, искать сухой шенен из Стелленбоша. Раньше такой возможности у меня не было».
Теперь посетители могут описать, что им нужно, — начинать поиск с названия вина или винодельни больше не обязательно.
MariaDB остаётся основной базой данных
Всё устроено просто: wine.co.za по-прежнему хранит и обновляет данные в MariaDB. Раз в день данные для поиска копируются в Manticore, а сайт отправляет поисковые запросы через библиотеку для .NET.
MariaDB → ежедневная индексация → Manticore Search → приложение на .NET → поиск на wine.co.za
MariaDB отвечает за основные данные, а Manticore — за поиск. Системы работают вместе, а не заменяют друг друга.
Простота настройки была важна, потому что у Кевина было мало времени:
«Настройка оказалась очень простой и понятной».
Кевин вспоминает, что установка растянулась примерно на два дня, потому что он занимался ею параллельно с другими задачами. Суммарные затраты времени на установку и освоение Manticore он оценивает примерно в 24 часа.
Подсказки при вводе стали полезнее
Manticore также используется для подсказок в поисковой строке wine.co.za. Они помогают посетителям найти нужное ещё до того, как запрос введён целиком.
По словам Кевина, Manticore работает достаточно быстро, чтобы показывать подсказки прямо во время набора запроса. А поскольку поиск не так требователен к формулировке, реализовать такие подсказки проще. Слова можно вводить в разном порядке — например, dry chenin stellenbosch или stellenbosch chenin dry.
Это удобно и тем, кто точно знает название вина или производителя, и тем, кто может назвать лишь несколько желаемых характеристик. И те и другие пользуются одной и той же поисковой строкой.
В анкете Кевин отметил оба улучшения:
«Поиск по всему сайту стал НАМНОГО лучше — и подсказки в выпадающих списках тоже стали НАМНОГО лучше».
Годы стабильной работы
Подробных замеров производительности wine.co.za не приводит. Как объясняет Кевин, компания небольшая и мало что измеряет, поэтому цифр для сравнения времени отклика или потребления ресурсов до и после перехода нет.
Для Кевина важнее другое: Manticore годами стабильно работает и почти не отнимает у него времени. Он хотел бы лучше изучить возможности системы, но уже сейчас доволен её работой.
Для небольшой команды это важно: время, которое иначе уходило бы на обслуживание поиска, можно потратить на другие задачи.
«Всё отлично работает, и мне не приходится об этом беспокоиться».
Удобный поиск без масштабной разработки
Пример wine.co.za показывает, как добавить в существующее приложение отдельную поисковую систему, не заменяя основную базу данных. Данные по-прежнему хранятся в MariaDB. Manticore получает их копию раз в день, а приложение на .NET обращается к нему с поисковыми запросами.
Разница видна на обычных запросах. Посетитель, который ищет сухой шенен из Стелленбоша, может объединить эти слова в запросе, поменять их порядок и получить подсказки по мере ввода. Заранее знать название конкретного вина не нужно.
Именно это сочетание Кевин и ценит: посетителям проще найти нужное, а ему не приходится ежедневно следить за работой поиска.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.