我有一种特殊问题(至少我认为它是一个^^)。我希望我能描述我想要做的事情:Lucene - 在索引中搜索一组单词
我有一套条款(字符串),每项也有一个分数(双)。 我现在想要将这些条款与我的lucene索引中的文档相匹配。
但我想考虑这些术语的所有可能的组合。 起初我的想法是简单地建立一个巨大的
`BooleanQuery: field1:term1 OR field1:term2 .... OR field2:term1 OR field2:term2 ...`
但这个查询当然会不一样的结果返回为生成一个单独的查询每个术语:
`Query1: field1:term1 OR field2:term1 ...`
`Query2: field1:term2 OR field2:term2 ...`
的问题是,我的应用程序是一个红外应用程序,这些条款是自动生成/提取的,我不知道,应该一起搜索哪些条款或单独更好。所以我想拥有“两全其美”。
有没有一种方法可以查询我的术语列表的所有可能的组合?
我当然可以做一些循环,并为每一个可能的组合查询,但将永远可能运行...
希望你明白我想要什么,能不能帮我:)谢谢!
运行查询,我可能不知道我想要什么太大^^。我的问题是,当我在一个查询中搜索所有条款(与OR相关)时,有些词主宰了结果。意味着前n个结果完全基于其中一个关键字。但是,如果我对每个术语进行单独查询,我将放弃可能由于合并一些术语而导致的(也许是现有的)利益。我知道这是预期的行为,但我希望有一些我错过的魔术。 – dburgmann
更新了我的回答,提供了一些关于理解和调整评分的提示。 – femtoRgon