Почти у каждого российского магазина есть товарный фид в таком формате, потому что почти все сотрудничают с «Маркетом». Но такой фид, как правило, содержит неполные описания товаров. Например, только категорию, название и цену, в то время как для хороших результатов нам была необходима полная информация, все параметры (к примеру, для телевизоров — это диагональ, тип экрана, наличие Wi-Fi, Smart TV и так далее).
Удивлен, что крупные магазины самостоятельно не реализовали такой механизм поиска. Я думал у них это по умолчанию должно быть реализовано. По сути ничего сложного, разбить запросы на параметры, параметрам присвоить ключи.
Ох как это поверхностно )
Мне кажется, даже проще параметры наоборот трансформировать в текстовое описание. И дальше использовать стандартный текстовый поиск.
Товарный поиск писать на порядок сложнее, чем обычный полнотекстовый. Взять хоть тему ранжирования результатов. Есть у вас "малиновый джем" и "краска для волос малиновый цвет", а пользователь ищет, например, "малиновое варенье" и видит на первой строчке краску для волос. А еще есть миллиард специфичных характеристик, которые сильно контекстозависимы и имеют разный вес. А еще, если вы хотите давать подсказки при наборе фразы вы должны уметь схлапывать похожие результаты до похожих товаров. Ну например "горошек Бондюэль" 200 и 400г - можно считать, что это один продукт, а вот 800г - это уже совсем другой продукт для других покупателей или по другому поводу. И в каждой предметной области, в каждой категории есть много подобных нюансов. Нужно быть не просто спецом по поиску, но еще и спецом в предметной области. Тема безумно сложная.
Согласен, что по умолчанию - а вот нет, был свидетелем как однажды один человек запускал магазин где можно было купить игры за крипту, и там не было ни то что параметров поиска, там не было search bar-a вообще...
Хотелось бы сравнения с многочисленными аналогами. Например, https://multisearch.io/ - делает тоже самое, но судя по ценам стоит значительно меньше.
Умоляю, покажите ваш продукт Leroy Merlin, у них ацкий поиск.