Workspace Digital Awards 2025 — успейте номинировать кейсы по льготной цене до 1 декабря. Принять участие!
Красивое Решение
Ускорение фильтров в каталоге в 3,5 раза
Красивое Решение
#Поддержка и развитие сайта#Программирование сайта#HTML - верстка сайта

Ускорение фильтров в каталоге в 3,5 раза

268 
Поделиться:
Ускорение фильтров в каталоге в 3,5 раза
Клиент

Галлерея косметики

Бюджет

150 000

Сфера

Торговля

Регион

Россия

Сдано

Август 2019

Задача

Интернет-магазин косметических товаров хотел ускорить работу фильтра для удобного поиска в базе данных mysql, который часто выдавал некорректные результаты при задании сложных условий. На сайте заказчика было 54 327 наименований товаров. В описаниях различных категорий – 116 свойств. Ежедневно сайт посещают более 7000 посетителей, которым для комфортного процесса покупок важна более предсказуемая и надежная работа фильтра.

Решение

К проблемам приводила ошибка в логике самописных компонентов каталога. К тому же заказчик хотел использовать механизм фильтра для создания новых блоков, чтобы агрегировать товары по свойствам и на основе таких выборок создавать специальные разделы, учитывающие сразу несколько заданных категорий (например, вид товара + назначение, допустим «маска», «тканевая маска» и « для лица»). На старте работ стандартный генератор либо вообще не включал страницы каталога с фильтрами, либо добавлял ссылки на все возможные комбинации. А нам предстояло сделать так, чтобы в sitemap попадали все весомые страницы фильтров с уникальными мета-тегами, текстами и достаточным количеством товаров. В процессе решения мы также хотели улучшить формирование sitemap.

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

Для решения задачи мы использовали поисковую платформу Apache Solr, которая умеет фильтровать товары необходимым образом. Без дополнительных настроек она работает быстрее и стабильнее, чем база данных: скорость выдачи по запросу 0,0035 секунд против результата БД – от 0,5 секунд и дольше.

Результат

Таким образом, мы ускорили работу фильтра в 3,5 раза, а ошибки в выдаче исчезли за счет правильной фильтрации в Solr. Теперь на сайте можно получать по запросу близкие по характеристикам товары. С таким механизмом фильтра мы смогли сделать несколько специфических разделов, получить доступ к быстрому формированию прайсов для google и yandex, а также сгенерировали sitemap с учетом фильтров в каталоге.


Стек технологий


Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Красивое Решение с удовольствием обсудит вашу задачу

Оставить заявку