Сведения о вопросе

Ayrat

16:03, 1st July, 2020

Теги

search   lucene    

Lucene оценка результатов

Просмотров: 447   Ответов: 3

В Lucene, если у вас было несколько индексов, которые охватывали только один раздел каждый. Почему один и тот же поиск по разным индексам возвращает результаты с разными оценками? Результаты с разных серверов точно совпадают.

т. е. если бы я искал :

  • Имя-Джон Смит
  • DOB - 11/11/1934

Раздел 0 вернет оценку 0.345

Раздел 1 вернет оценку 0.337

Оба совпадают точно по имени и DOB.



  Сведения об ответе

PIRLO

18:03, 1st July, 2020

Оценка содержит обратную частоту документа (IDF). Если термин "John Smith" находится в одном разделе, 0, 100 раз и в разделе 1, один раз. Оценка для поиска Джона Смита будет выше, чем для поиска в разделе 1, поскольку этот термин более редок.

Чтобы обойти это, вам нужно было бы иметь свой индекс, находящийся над всеми разделами, или вам нужно было бы переопределить IDF.


  Сведения об ответе

appple

18:03, 1st July, 2020

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

Если у вас есть разные индексы (more/less или разные данные, которые были проиндексированы), оценка будет отличаться:

http://lucene.apache.org/core/3_6_0/scoring.html

(Предупреждение: Содержит Математику :-))


  Сведения об ответе

piter

18:03, 1st July, 2020

Возможно, вас также заинтересует вывод метода explain() и результирующий объект Explanation , который даст вам представление о том, как все обстоит на самом деле.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться