Lucene - 在索引中搜索一组单词

时间:2013-01-21 21:26:22

标签: information-retrieval 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 ...`

问题是,我的应用程序是一个应用程序,这些术语是自动生成/提取的,我不知道,哪些术语应该一起搜索或更好地单独搜索。所以我希望拥有“两全其美”。

有没有办法让查询搜索我的术语列表的所有可能组合?

当然,我可以制作一些循环并为每个可能的组合生成查询,但这可能会永远运行...

希望你明白我想要什么,可以帮助我:)谢谢!

1 个答案:

答案 0 :(得分:0)

不确定这是否有用,但您可以从所有字段中获取信息并将其复制到另一个字段中。

我知道这是多余的,但如果磁盘空间不是问题,那么运行查询会更方便,因此您的查询会变得

aggr_field:(term1 OR term2 OR term3)