Как увеличить производительность сайта и обеспечить надежную поисковую систему

Задача:
Перенести каталог на ElasticSearch и настроить движок для быстрого и гибкого поиска для группы сайтов Inventive Retail Group 

Что мы делали:

  • Перенос каталога в ElasticSearch 
  • Интеграция с Битрикс 
  • Настройка словарей синонимов и исключений

Развитие интернет-торговли идет семимильными шагами, заставляя представителей отрасли постоянно совершенствовать свои услуги, технологии и коммуникации. Просто качественного продукта давно не достаточно, а удобство пользования интернет-магазином стремительно выходит на первый план. Когда количество товаров на вашем сайте перевалило за несколько тысяч, подвисающий каталог и несообразительный поиск по нему может лишить вас не только лояльности покупателей, но и значительной части прибыли. 

О заказчике:

Сотрудничество Интаро с Inventive Retail Group началось с переноса сайтов группы компаний на мультисайтовую платформу 1С-Битрикс. Этот проект позволил повысить эффективность управления функционалом всех сайтов группы компаний и сократить финансовые и временные затраты на дальнейшее внедрение и сопровождение. 

Для дальнейшей оптимизации сайтов re-store.ru, mir-kubikov.ru и street-beat.ru было принято решение о переносе каталога мультисайта на Elasticsearch. 

Elasticsearch — масштабируемый полнотекстовый поисковый и аналитический движок с открытым исходным кодом.

fb0fffcd509fd2f85e5178e19e5b9915.PNG

Перенос каталога

Для удобного пользования каталогом сайт предоставляет клиенту большое количество
фильтров. Из-за сложной бизнес-логики мы не могли использовать стандартные решения, а те возможности, которые предоставляет Битрикс, на практике работали довольно медленно. В частности, из-за ограничений в работе со свойствами в запросе по нескольким инфоблокам для построения фильтра производилось большое количество запросов к базе данных. Это
существенно увеличивало время загрузки страниц и вызывало большие нарекания. 

Функционал Elasticsearch для фильтрации, группировки и поиска по каталогу значительно шире, но использовать его как основное хранилище нельзя, так как он не гарантирует актуальность при обновлении данных. Поэтому нам пришлось комбинировать возможности двух систем. Три каталога в Битрикс превратились в три индекса ElasticSearch. Каждый индекс содержит свой минимальный набор данных, необходимых для работы каталога, вывода данных о товаре и построения фильтров. 

Планово все данные каталога индексируются три раза в сутки. А при изменении остатков, цен или изменений в админке индексируются только та часть данных, которую затронули изменения. Так интеграция и частичный перенос каталога в 
Elasticsearch увеличили скорость загрузки страниц в несколько раз. 

Гибкий поиск

Также функционал ElasticSearch с огромным отрывом обходит стандартный поиск Битрикс. Он позволяет осуществлять полнотекстовый поиск по артикулам, названиям и описанию товаров, а также выводить автодополнения, подсказки и ранжировать результаты по релевантности. При должной настройке, его не собьют опечатки и неточности запроса. В любом случае
покупатель получит то, что хотел. При текущем уровне конкуренции, когда борьба между ритейлерами идет за каждого клиента, это крайне важно. 

Морфологические фильтры

Настройка необходимых фильтров обеспечивает более гибкий и живой язык запросов, учитывающий правила и нюансы конкретного языка. Поиск распознает различные формы и числа слова. А также перед индексированием исключает слова, которые не несут большой смысловой нагрузки, например, «и», «а», «но» в русском или «and», «a», «to» в английском языке. 

Словарь синонимов

Он представляет собой таблицу запросов со всевозможными вариантами их написания, включая синонимы, варианты написания с ошибками или некорректной раскладкой. В идеале, почти любую абракадабру, введенную клиентом, поисковик должен распознать и предложить подходящую категорию или серию товаров. Это значительно увеличивает наши шансы на то, что клиент совершит покупку. 

Статистика популярных запросов

Встроенная в состав ElasticSearch платформа Kibana может собирать статистику, выполнять расширенный анализ данных и визуализировать результаты в различных диаграммах,
таблицах и картах. Мы можем в режиме реального времени или за любой прошлый период видеть статистику поиска — какие запросы вводят пользователи; находят ли то, что нужно и делают ли после использования поиска заказы.

Данные статистики дают широкие возможности для маркетинговых активностей заказчика. На основе статистики за последние две недели формируется список популярных фраз и, при вводе запроса в поисковую строку, словарь выдает подсказку — наиболее популярные варианты и позволяет клиенту сразу перейти на страницу результатов поиска, сократив время на поиск по каталогу. 

При этом, если нужно убрать из подсказок нежелательные товары, также составляется список исключений.

46854f29901b332417e8fe6f19892d60.png

59276857f3ebf1d20a917484e39f239d.PNG

Перейти на сайт

Полный текст статьи читайте на CMS Magazine