我有一套术语(字符串),每个术语也有一个分数(双)。 我现在想要将这些术语与我的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 ...`
问题是,我的应用程序是一个应用程序,这些术语是自动生成/提取的,我不知道,哪些术语应该一起搜索或更好地单独搜索。所以我希望拥有“两全其美”。
有没有办法让查询搜索我的术语列表的所有可能组合?
当然,我可以制作一些循环并为每个可能的组合生成查询,但这可能会永远运行...
希望你明白我想要什么,可以帮助我:)谢谢!
答案 0 :(得分:0)
不确定这是否有用,但您可以从所有字段中获取信息并将其复制到另一个字段中。
我知道这是多余的,但如果磁盘空间不是问题,那么运行查询会更方便,因此您的查询会变得
aggr_field:(term1 OR term2 OR term3)