Настройка для добавления веса самому первому токену


(Roman) #1

Добрый день.
Хотим использовать эластик для поиска товаров по Интернет магазину. Очень интересуют настройки релевантности, кажется что не хватает настройки, чтобы прибавлять релевантности первому токену в поле.
90 % пользователей ищут товар по названию, а название всегда пишется первым.
Без этого случаются конфузы, когда по запросу "ноутбук" вперед попадают сумки для ноутбука. (т.к. дополнительно имеют слово ноутбук в характеристиках). Подскажите пожалуйста, может быть есть такая настройка или какое-то другое решение.


(Igor Motov) #2

Я не думаю, что это хорошая идея, но если очень надо, то можно первый токен (или несколько) проиндексировать в отдельном поле, а потом искать поле с первым токеном с бустом, одновременно с поиском по полному полю без буста.


(Roman) #3

Спасибо, попробуем вашим вариантом, посмотрим на изменившуюся выдачу.
P.S. кажется, что ниша open sourse поисковиков, специализированных под Интернет-магазины, достаточно свободна, не нашли специфических поисковиков.


(Roman) #4

Игорь,
подскажите пожалуйста, может ли данный вид запросов span_first query - помочь в данной ситуации.
и как объединить данный вид запроса с обычной пачкой запросов, который уходит в elasctic.


(Igor Motov) #5

Может, но запросу span_first нужен анализированный токен, который может быть сложно получить если у вас анализатор нетривиальный. К тому же, это будет медленнее, потому что в span_first надо будет грузить позиции для найденых токенов.

На самом деле, есть много разных способов, я вам самый простой показал, чтобы вы попробовали, сами убедились, что он не работает не теряя слишком много времени на это, и мы перешли бы к поиску настоящего решения :slight_smile:


(Roman) #6

А какие самые типовые решения применяются в Интернет-магазинах?


(Igor Motov) #7

"Типовые решения" без настройки обычно работают плохо. Это, на самом деле, сложная проблема и многое зависит от данных, которые у вас есть, как они структурированы, кто за ними следит, на сколько они однородны и т.д. В большинстве случаев, это проблема из разряда "Мусор на входе — мусор на выходе" и никакие волшебные поисковые сервера ее в этом случае не решат. С другой стороны, если входные данные разумные, хорошо структурированы, содержат различными полезные метрики (как популярность продукта и бренда, например), то с хорошим поисковым движком ее можно очень хорошо решить.


(system) #8

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.