我是Lucene的新手,我希望根据3个标准过滤搜索结果:
document_type
的值应为Product
brand_id
的值应为4 family_id
的值应为(121,232,343)所以我基本上想要的是在搜索结果中使用如下组合:
document_type:Product AND brand_id:4 AND family_id:121
document_type:Product AND brand_id:4 AND family_id:232
document_type:Product AND brand_id:4 AND family_id:343
我认为document_type:Product AND brand_id:4 AND family_id:(121 232 343)
应该可以解决问题,但在解析此查询标准分析器时,即使在将值Product
的索引字段document_type
设置为{{{i}}时也会Product
为Field.Index.NOT_ANALYZED
1}}和Field.Store.YES
。
我想知道是否可以通过为给定的3个案例组合3个可能的查询来创建布尔查询。
我对Lucene很新,有人可以帮我吗?
感谢。
答案 0 :(得分:1)
Query.combine(Query[]) worked like a charm for the given situation.
可以使用给定方法的文档here。
一旦应用了联合收割机,该问题就像是跟随:
(+document_type:Product +brand_id:4 +family_id:121) (+document_type:Product +brand_id:4 +family_id:232) (+document_type:Product +brand_id:4 +family_id:343)
感谢。