1. Аудит проекта и подбор оптимальной конфигурации
Оцениваем количество товаров и свойств, объемы движения остатков, частоту обновления цен, сложность макетов дизайна, шаблонов, компонентов и кода проекта. Рассчитываем насколько быстро получится подключить ElasticSearch и какие дополнительные элементы инфраструктуры для него понадобятся. Готовим результаты в виде описания и порядка действий по внедрению, оцениваем стоимость и отправляем вам на согласование.
2. Заключение договора
Мы готовим шаблон договора с вашими реквизитами, прописываем подобранные условия по конфигурации, сроки разработки и особенности внедрения решения исходя из результатов аудита.
3. Настройка тестовой копии сайта
Мы делаем полную копию сайта с рабочего сервера на тестовый потому что процесс интеграции Эластика может занять продолжительное время (до 1 месяца) и основной сайт должен при этом корректно работать.
4. Настройка сервера ElasticSearch
Тут выбираем - для маленьких магазинов можно запустить эластик прямо на сервере сайта. Но если каталог превышает около 3 тыс. наименований номенклатуры, то для Эластика необходимо подключить дополнительный сервер. Обычно мы рекомендуем managed ElasticSearch в Яндекс.Облаке и подбираем минимально подходящий тариф.
5. Разработка логики загрузки каталога товаров в Elastic
Данные о ваших товарах - должны каким-то образом попасть в ElasticSearch. Мы разрабатываем скрипты загрузки каталога в базу данных Эластика и подбираем необходимую логику индексации данных: для числовых и списочных значений, для параметров с полнотекстовым и морфологическим поиском, настраиваем необходимые объединения, и т.д.
6. Разработка логики обновления поисковых индексов
Частота обновления данных в Эластике зависит от того как быстро и какие данные в каталоге изменяются. Как правило, это остатки, цены, сами товары и их свойства. Они могут обновляться как раз в сутки, так и раз в час, полчаса, каждые десять минут - смотря как быстро они изменяются в вашем бизнесе.
7. Разработка логики отображения списков товаров по индексам из ElasticSearch
После подключения эластика - все списки товаров на сайте будут выводиться по данным из его индексов. В том числе сортировки, разбивка на страницы, списки товаров по разделам, и т.д. Эластик позволяет получать список карточек для отображения по текущему запросу во много раз быстрее чем стандартный комплексный компонент каталога Битрикса.
8. Подключение индексов Elastic к компоненту Умного Фильтра 1С-Битрикс
В умном фильтре битрикса должны отображаться те параметры товаров, которые загружены в эластик. При выборе пунктов в фильтре - должно показываться сколько товаров найдено. И при применении фильтра - список товаров должен обновиться с учетом выбранных параметров. Всё это с Эластиком работает во много раз быстрее, чем при стандартной фильтрации.
9. Отладка и тестирование
Проверяем корректность работы всех разделов сайта - что по нужным ссылкам нужные разделы каталога, товары в правильном порядке, фильтры и пагинаторы работают, и т.д. А вы - проверяете скорость работы сайта.
10. Перенос на рабочий сервер
Необходимо перенести скрипты, изменения по шаблонам сайта и коду компонентов, настроить расписание регулярных задач по обновлению данных, настроить в эластике права доступа для рабочего сайта, чтобы избежать несанкционированных подключений, настроить бекапы, и т.д.
11. Поддержка и сопровождение инфраструктуры
Эластик - это дополнительный сервис для вашего сайта, который требует контроля работы, резервного копирования и мониторинга. В случае его поломки - может произойти отказ работы всего сайта. Мы постоянно проверяем его статус и правильность работы, принимаем меры в случае проблем. Для вас же главное - та скорость и преимущества которые Elastic дает вашему сайту!