Обновить
2
0

Пользователь

Отправить сообщение
  1. Полнотекстовый поиск - это отдельная история, по которой можно написать отдельную статью. Здесь это сознательно оставлено за рамками, и в момент реализации описанного функционала такая задача еще даже не стояла. Сейчас пользуемся для этого сторонним сервисом (хотя лично я конечно от такого решения не в восторге :)) Если запилим свой - напишем

  2. Фильтры для пользователя - тоже отдельная история. Они у нас есть, и пока они работают как и раньше на скуле покрытые кешем с прогревом для топа регионов, и их мы на эластик еще даже не перенесли. Поэтому я описал фильтры только со стороны того, как они используются при формировании подборок.

    Спасибо за статью!

По размеру каталога ответил выше. Что касается иерархических данных: в определенном смысле иерархия есть - варианты являются подмножеством продуктов. И сложности, связанные с этим, в статье я тоже привел. Да, они есть, но работать с этим вполне можно.

Согласен, цифр не хватает. Исправиляюсь :) Параметры каталога:

  • Около 20К товаров

  • Около 200К вариантов

  • Около 700 подборок. Многие из них имеют довольно большое количество фильтров, самое большое - на данный момент аж 194

  • Атрибутов порядка 150

  • Значений атрибутов порядка 50 тысяч

Конечно это довольно скромные цифры, все-таки мы не Мвидео, а магазин одежды )

Бек написан на PHP/Laravel, Эластик на одном инстансе (размещение облачное), на данный момент 12 ядер и 12 гигов памяти, но это с запасом: сейчас низкий сезон, и нагрузка даже в пиках не превышает 30%.
Rps чисто на каталог товаров - около 150.
Горизонтально не скалировали. На Opensearch пока тоже не переходили.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Ведущий
PHP
Laravel
PostgreSQL
SQL
MySQL
Redis
Elasticsearch
Docker
Git