Использование оценки поиска для определения поведения контроллера (tire/elasticsearch)

Я новичок в elasticsearch и tire, и я изо всех сил пытаюсь понять, как отображать оценки результатов поиска.

Учитывая конкретную строку запроса, я хочу иметь возможность сделать следующее:

  • Если есть несколько «хороших» результатов (высокая оценка) => Направить пользователя на страницу A (выбрать между ними)

  • Если есть один «хороший» результат, => отправить пользователя на страницу B (продолжить использовать найденный элемент)

  • Если «хороших» результатов нет, => перенаправить пользователя на страницу C (страница выпадающего списка).

Можно ли это сделать с шиной? Если да, то как?


person Felix    schedule 26.11.2012    source источник
comment
Почему бы просто не проверить количество возвращенных результатов для › 1, 1 и 0? Кроме того, что представляет собой «хороший» результат?   -  person concept47    schedule 08.12.2012


Ответы (1)


Интересный вопрос. Логика маршрутизации довольно проста: просто посмотрите, сколько результатов возвращается и какова их оценка (свойство _score).

Проблема в том, как узнать, что результат «хороший». Очевидно, вы знаете счет, но сложная часть заключается в расчете или оценке того, что является хорошим результатом. Например, вы можете использовать custom_score или < запрос href="http://www.elasticsearch.org/guide/reference/query-dsl/boosting-query.html" rel="nofollow">boosting для управления оценкой, но как вы знаете, что такое "хорошее" значение?

person karmi    schedule 12.12.2012