lucene - 返回所有文件,这些文档是一个字段并按另一个字段的相关性排序

时间:2012-01-02 16:37:19

标签: search lucene

我需要能够搜索特定群组的所有成员(由常见的groupId字段标识)并通过与其他字段(description)的相关性将其恢复回来

意思是,假设我将以下文档编入索引:

name="a" groupId="445" description="lives in a blue house"
name="b" groupId="445" description="has a green car"
name="c" groupId="445" description="likes blue flowers"
name="d" groupId="445" description="his eyes are brown"
name="e" groupId="445" description="her table is light-blue"

我希望通过id(groupId:445 AND ...)获取所有内容,然后按“blue”一词的相关性排序 意思是 - 我想得到a,b,c首先仍然得到其他人(在说明中根本没有“蓝色”这个词),只是得分较低< / p>

我怎样才能实现这一目标?

谢谢!

2 个答案:

答案 0 :(得分:0)

你想要的是一种提升。例如groupId:445^10 description:blue

答案 1 :(得分:0)

我找到了答案: 程序化构建查询(更多信息:http://www.lucenetutorial.com/lucene-query-syntax.html

当我将一个TermQuery添加到一个BooleanQuery时,我发现我可以将它定义为“必须发生”或“应该发生”(我认为在查询语法中它转换为'+',或者缺少它,之前术语)

更多关于Occur: http://lucene.apache.org/java/3_4_0/api/all/org/apache/lucene/search/BooleanClause.Occur.html