我正在尝试实现 Lucene.Net MoreLikeThis 查询,但它似乎无法在文档中找到任何有趣的内容来搜索索引。
在我的场景中,用户点击了搜索结果网页上的“More Like This”链接,这会在查询字符串上传递文档 ID。我的 Lucene.Net 代码如下所示:
var similarSearch = new MoreLikeThis(reader);
similarSearch.SetFieldNames(new[] { "Place", "Subject", "Description", "Name", "Town", "Occupation" });
similarSearch.MinWordLen = 3;
similarSearch.Boost = true;
var terms = similarSearch.RetrieveInterestingTerms(docid);
var doc = reader[docid];
var searchQuery = similarSearch.Like(docid);
执行后;terms 变量是一个空数组, doc 变量包含文档,而 searchQuery 没有子句。当我使用查询运行搜索时,它不返回任何文档。
我的结论是我能够从阅读器那里获取文档,但是 MoreLikeThis 对象无法找到任何东西来构建查询。
知道为什么吗?