1

我不知道我是否正确调用了 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;
                }

请问我做错了吗?

4

1 回答 1

2

您唯一做错的事情是认为 Lucene 分数是百分比。他们不是。

查询的文档分数将用于比较单个查询上下文中的匹配强度。它们在排序结果方面非常有效,但它们不是百分比,通常不适合向用户显示。

于 2014-06-10T00:03:56.903 回答