首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Lucene -返回按匹配字段数量排序的结果

Lucene -返回按匹配字段数量排序的结果
EN

Stack Overflow用户
提问于 2013-02-18 08:03:45
回答 1查看 364关注 0票数 1

我有一个包含多个字段的Lucene索引。我想使用它来查找按匹配字段的数量排序的文档,并让结果指示匹配的字段数量。

在我的特定示例中,Lucene索引中的文档表示网页,字段是标题、元描述、h1文本等内容。

如果我搜索“自行车”这样的词,我希望返回在任何字段中包含“自行车”一词的所有文档。但是,我希望相关性分数指示包含关键字“自行车”的字段的数量。例如,如果文档的标题和元描述中包含“自行车”,我希望该文档的排名高于仅在标题中包含“自行车”的文档。我还希望能够确定第一个文档包含两个匹配项,而第二个文档只包含一个匹配项。关键字在特定字段中的频率并不重要。我只关心它是否匹配。

我知道可以使用BooleanQuery查找单个字段上的匹配项,也可以将它们组合在一起对多个字段执行and或or操作,但是我不确定如何执行查询,该查询将返回与任何字段都匹配的文档,但也会返回一些指示有多少字段匹配的指示符。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 03:19:43

在Lucene中,可以通过形成像title:a web page这样的查询来完成searching on a field。假设您创建了查询q1、q2、..对于n个字段,qn就像上面那样。使用这些查询进行搜索将返回您存储在列表l1、l2、..中的文档ids。在..。现在,将它们合并到集合S中。对于S中的每个项目,检查该项目属于多少个列表(或哪些列表)。如果我没理解错的话,这应该可以解决你的问题。

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

https://stackoverflow.com/questions/14931788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文