Запутался насчет галстука и qf в edismax

Меня не устраивают параметры qf и tie в eDisMax.

Согласно документу:

qf используется для указания поля для поиска, а tie используется для указания влияния всех других полей (кроме поля с наивысшим баллом) на общий балл.

Меня смущает то, что, поскольку мы уже указываем, какое поле (предположим, мы указываем только одно поле) для поиска, почему мы все еще можем заставить другие поля влиять на общие результаты (я думаю, это должно быть мое непонимание того, как работает edismax, но это также моя путаница.)?

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


person Kuan    schedule 07.04.2015    source источник


Ответы (1)


Нет, параметр tie не относится к полям. Позвольте мне объяснить основные вещи, которые делает eDisMax — когда он работает с несколькими полями, он не суммирует баллы по полям (как, например, логический запрос), вместо этого он выбирает максимум.

Например. если у нас есть поля A и B и оценка для поля A равна 3.0, а для B - 5.0, то eDisMax получит оценку 5.0, полностью игнорируя другие оценки.

Параметр «связь» позволяет вам настроить, насколько на окончательную оценку запроса будут влиять оценки полей с более низкой оценкой по сравнению с полем с самой высокой оценкой.

Итак, если tie = 0,1, то итоговая оценка предыдущего примера будет 5,0 + 0,1 * 3,0 = 5,3.

Дополнительные сведения о параметре tie: https://wiki.apache.org/solr/ExtendedDisMax#tie_.28Tie_breaker.29

person Mysterion    schedule 08.04.2015
comment
Спасибо. Что меня смущает: если мы укажем только ОДНО поле в edismax qf (поле запроса, которое может означать расчетную оценку в этом поле), то как будет работать связь? - person Kuan; 08.04.2015
comment
Я почти уверен, что ничья не повлияет на счет в этом случае. - person Mysterion; 08.04.2015