我不知道我是否正确地调用了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;
}
我做错了吗?
答案 0 :(得分:2)
你唯一错误的是认为Lucene得分是百分比。他们不是。
查询的文档分数将用于比较该单个查询的上下文中的匹配强度。它们在排序结果时非常有效,但它们are not percentages,并且通常不适合显示给用户。