我在Lucene索引中关注了3份文件。
作为MBA,您将在实施业务战略中发挥不可或缺的作用,并将负责法定账目,合规性,审计,包括银行关系,税务,财务和财务。现金管理
作为M.B.A.,您将在实施业务战略中发挥不可或缺的作用,并将负责法定账目,合规,审计,包括银行关系,税务,财务和财务。现金管理
作为工商管理硕士,您将在实施业务战略中发挥不可或缺的作用,并将负责法定账目,合规,审计,包括银行关系,税务,财务和财务。现金管理
我的搜索输入是:MBA和我在Lucene上执行的查询是:
+((description:mba^3.0) (description:m.b.a.) (description:\"master business administration\"))
按结果按降序排序后,我按以下顺序得到结果:
Document # 3
Document # 2
Document # 1
记录#1不应该在搜索结果之上,因为我已经给它一个更高的提升,而且该文档包含确切的单词MBA ??
我在这里缺少什么?
感谢。
答案 0 :(得分:3)
匹配的查询字符串占Doc#3内容的10%左右。但只占#1和#2的一小部分。
您可能需要调整提升以反映备用查询字符串的不同长度。
答案 1 :(得分:0)
如果您使用的是Lucene的StandardAnalyzer,那么文档#1和#2实际上是等效的,两者都匹配术语“mba”。很难猜到为什么#3得分最高 - 也许是因为它匹配多个术语。您可能需要考虑在索引时处理这样的同义词。
我不认为字段长度是一个很大的因素,但您可能想要做的是使用IndexSearcher.Explain()来获得评分细分 - 这是调试此类问题的最佳方法。