Lucene中的组和术语查询组合

时间:2012-09-17 18:11:44

标签: search lucene

我是Lucene的新手,我希望根据3个标准​​过滤搜索结果:

  1. 字段document_type的值应为Product
  2. 字段brand_id的值应为4
  3. 字段family_id的值应为(121,232,343)
  4. 中的所有值

    所以我基本上想要的是在搜索结果中使用如下组合:

    1. document_type:Product AND brand_id:4 AND family_id:121
    2. document_type:Product AND brand_id:4 AND family_id:232
    3. document_type:Product AND brand_id:4 AND family_id:343
    4. 我认为document_type:Product AND brand_id:4 AND family_id:(121 232 343)应该可以解决问题,但在解析此查询标准分析器时,即使在将值Product的索引字段document_type设置为{{{i}}时也会ProductField.Index.NOT_ANALYZED 1}}和Field.Store.YES

      我想知道是否可以通过为给定的3个案例组合3个可能的查询来创建布尔查询。

      我对Lucene很新,有人可以帮我吗?

      感谢。

1 个答案:

答案 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)

感谢。