О проекте
Elasticsearch ― современное решение по управлению контентом, которое позволяет быстро в режиме реального времени хранить, искать и анализировать большие объемы данных. Оно помогает посетителям сайта быстро найти то, что их интересует.
Задача
- Поиск товаров. Возможность найти товар через поисковую строку или фильтр в каталоге;
- Ранжирование. Результаты поиска выводятся по степени релевантности запросу;
- Хранение данных. Закладки, логи, контактные данные всегда под рукой.
Реализация
Полнотекстовый поиск по фразамПоддерживает модификаторы: «+» (плюс) — слово должно присутствовать — и «−» (минус) — слово должно отсутствовать. По умолчанию результаты будут отсортированы в соответствии с релевантностью текста к запросу. Поисковые фильтрыВ любом языке есть стоп-слова — вспомогательные слова, которые не несут большой смысловой нагрузки (например, союзы и предлоги). Elasticsearch упрощает и конкретизирует поисковую фразу до корней значимых слов, исключает стоп-слова. Пользователь получает более релевантные результаты. Подсветка результатовПользователи любят, когда искомые слова подсвечиваются в результатах поиска. Это особенно важно, когда они ищут среди тысяч товаров, каждый из которых имеет своё описание. Размытый поискЕсли пользователь совершит опечатку, Elasticsearch всё равно выдаст ему то, что он искал, — в отличие от MySQL, который бы в данной ситуации отобразил 0 товаров. АвтозаполнениеАвтозаполнение помогает пользователю найти желаемое быстрее, даже если он ввёл в поиск сочетание слов с ошибкой.
Результат
- Быстро работающий сайт с возможностью оперативного обновления данных по товарам, ценам, скидкам, остаткам и акциям;
- Полнотекстовой поиск с учетом морфологии языка, словоформ, контролем опечаток;
- Наличие связанных фасетных фильтров, что обеспечивает ранжированием результатов по релевантности.