ОИ
Сейчас в качестве неточного поиска реализован алгоритм ливенштейна (поверх mysql), которые в виде клавиатурных кнопок выдает рекомендации при ошибочных запросах. Но во многих случаях он работает плохо, а именно:
- Работает с очень большой задержкой (приходится ждать около 15 секунд выдачи рекомендации)
- Неправильное ранжирование (выдает максимально релевантный вариант в самом низу рекомендаций)
- Очень плохо работает с русскими словами. (при минимальных ошибках редко выдает правильную рекомендацию)
- Очень плохо работает с короткими словами (например ozon). При ошибке в 1 букве выдает очень много нерелевантных слов.
Названия магазинов в базе на английском и русском языке. Слов в названии от 1 до 4. Символов от 3 до 25.
Предположительно хочу использовать elasticsearch чтобы достичь:
• Быструю выдачу рекомендаций (до 1 секунды)
• Максимально точную выдачу рекомендаций. (особенно с короткими словами на русском языке)
Крайне благодарен за любую рекомендацию, подсказку как это сделать. Также готов взяь консультацию или отдать на реализацию.
Сам бот @bumpsybot
