MoreLike Это не возвращает 100% -ную оценку в Lucene.Net при сравнении одного и того же документа друг с другом
Я не знаю, правильно ли я звоню Lucene.net. Я пытаюсь вызвать функцию MoreLikeThis, чтобы сравнить документ с самим собой, и я получаю только 0,3174651 баллов, где я думаю, что я должен получить балл 1,0. Я ожидаю, что неправильно ожидать?
Это мой код:
int docId = hits[i].Doc;
var query2 = mlt.Like(docId);
TopScoreDocCollector collector = TopScoreDocCollector.Create(100, true);
searcher.Search(query2, collector);
ScoreDoc[] hits2 = collector.TopDocs().ScoreDocs;
var result = new List<string>();
for (int k = 0; k < hits2.Length; k++)
{
docId = hits2[k].Doc;
float score = hits2[k].Score;
}
Я делаю что-то не так, пожалуйста?
1 ответ
Решение
Единственное, что вы делаете неправильно, думает, что результаты Lucene - это проценты. Это не так.
Оценка документов по запросу должна использоваться для сравнения силы совпадений в контексте этого отдельного запроса. Они довольно эффективны при сортировке результатов, но не являются процентными показателями и обычно не подходят для отображения пользователю.