我在Lucene索引中跟踪了3个文档。
我的搜索输入是:MBA,我在Lucene上搜索执行的查询是:
+((description:mba^3.0) (description:m.b.a.) (description:\"master business administration\"))
在按降序对结果进行排序之后,我得到了以下顺序的结果:
Document # 3
Document # 2
Document # 1
记录#1不应该在搜索结果之上,因为我给了它更高的推动力,而且文档中还包含了MBA这个词??
我在这里错过了什么?
谢谢。
发布于 2009-08-06 18:23:23
匹配的查询字符串约占Doc#3内容的10%,但只占#1和#2的一小部分。
您可能必须调整您的提升以反映可选查询字符串的不同长度。
发布于 2009-08-07 13:38:06
如果你正在使用Lucene的StandardAnalyzer,那么docs #1和#2实际上是等价的,两者都将与"mba“一词相匹配。很难猜测为什么3号得分最高--也许是因为它匹配多个术语。您可能需要考虑在索引时处理这样的同义词。
我不认为字段长度会是一个很大的因素,但是您可能想要做的是使用IndexSearcher.Explain()来获得评分的细目--这是调试类似这个问题的最佳方法。
https://stackoverflow.com/questions/1240570
复制相似问题