понимание взаимосвязи между повышением качества документа в lucene во время индекса и его соответствующей оценкой во время поиска - PullRequest
2 голосов
/ 14 октября 2011

При индексировании я добавляю некоторые документы, но они не отображаются в верхней части списка найденных документов.Я посмотрел на оценку этих документов, и каким-то образом оценка полученных документов всегда равна NaN.

Какова взаимосвязь между увеличением документа во время индексации и его оценкой во время получения?Я думал, что это будет коррелировать, и, кроме того, я думал, что получу широкий диапазон баллов по моим оценкам, а не только по NaN.Если бы вы могли пролить свет на это, я был бы признателен.

Я прочитал http://lucene.apache.org/java/2_3_2/api/org/apache/lucene/search/Similarity.html

и не могу понять, чего не хватает.

Вот простое повышениекод:

if (myCondition)  
{
   myDocument.SetBoost(1.1f);
}
myIndexWriter.AddDocument(document);

1 Ответ

4 голосов
/ 14 октября 2011

Здесь я сделаю дикое предположение, поскольку вы не предоставили образец кода поиска, но общая причина, по которой количество полученных документов равно NaN, заключается в том, что вы используете сортировку. При сортировке большую часть времени оценка документов не используется, и поэтому по умолчанию отключена.

Если вы используете сортировку для поиска и хотите получить оценку, отметьте метод setDefaultFieldSortScoring класса IndexSearcher. Этот метод позволяет включить оценку документов в поиске, который использует сортировку.

http://lucene.apache.org/java/2_9_4/api/all/org/apache/lucene/search/IndexSearcher.html#setDefaultFieldSortScoring(boolean, логический)

...