Весь каталог, выгруженный с cifrus.ru, и один и тот же набор реальных запросов покупателя — прогнанных через текущий поиск сайта и через прототип ниже. Разница видна за одно нажатие: там, где их поиск отвечает «ничего не найдено» или путает планшет с телефоном, здесь находится ровно то, что искали.
GET /api/search на этом сервереПоиск работает на self-hosted движке Manticore Search со словарной лемматизацией (не примитивным отбрасыванием окончаний): «учебы», «часов», «планшета» приводятся к одной словоформе так же, как в обычном русском словаре.
Одиночная кириллическая буква рядом с цифрами (как «с» в «с24») распознаётся как латинский омоглиф — «s» — и сопоставляется с «S24» в названии товара.
«эпл», «айфона», «эппл» приводятся к каноничному «apple» / «iphone» ещё до сопоставления с каталогом — не только точная форма слова.
«наушники», «планшет», «часы», «ноутбук» повышают вес товаров нужной категории через веса полей поиска, не отсекая остальное — поэтому «наушники apple» не путает AirPods с iPhone.
Запрос сопоставляется по частичному совпадению слов (кворум), а не требует буквального совпадения всех до единого — случайное «для учёбы» не обнуляет всю выдачу, как это происходит на cifrus.ru.
Если точный поиск и кворум ничего не нашли, включается нечёткий поиск по редакционному расстоянию и автоматическое распознавание ЙЦУКЕН↔QWERTY — запасной, а не основной механизм.