首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Lucene搜索结果的相关性

Lucene搜索结果的相关性
EN

Stack Overflow用户
提问于 2009-08-06 18:18:02
回答 2查看 318关注 0票数 0

我在Lucene索引中跟踪了3个文档。

  1. 作为工商管理硕士,你将在实施企业战略中发挥不可或缺的作用,并将承担法定账户、合规、审计(包括银行关系)、税务、国库和现金管理(
  2. )等工商管理硕士的职责。你将在实施企业战略方面发挥不可或缺的作用,并将承担法定账户、合规、审计(包括银行关系)、合规、审计(包括银行关系)、税务、国库和现金管理(
  3. )等职责,作为企业管理硕士,你将在实施企业战略方面发挥不可或缺的作用,并将承担法定账户、合规、审计(包括银行关系)、税务、税务等方面的职责,国库及现金管理

我的搜索输入是:MBA,我在Lucene上搜索执行的查询是:

代码语言:javascript
运行
复制
+((description:mba^3.0) (description:m.b.a.) (description:\"master business administration\"))

在按降序对结果进行排序之后,我得到了以下顺序的结果:

代码语言:javascript
运行
复制
Document # 3
Document # 2
Document # 1

记录#1不应该在搜索结果之上,因为我给了它更高的推动力,而且文档中还包含了MBA这个词??

我在这里错过了什么?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-06 18:23:23

匹配的查询字符串约占Doc#3内容的10%,但只占#1和#2的一小部分。

您可能必须调整您的提升以反映可选查询字符串的不同长度。

票数 3
EN

Stack Overflow用户

发布于 2009-08-07 13:38:06

如果你正在使用Lucene的StandardAnalyzer,那么docs #1和#2实际上是等价的,两者都将与"mba“一词相匹配。很难猜测为什么3号得分最高--也许是因为它匹配多个术语。您可能需要考虑在索引时处理这样的同义词。

我不认为字段长度会是一个很大的因素,但是您可能想要做的是使用IndexSearcher.Explain()来获得评分的细目--这是调试类似这个问题的最佳方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1240570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档