BooleanQuery组合查询

来源:互联网 发布:荆州网络 销售招聘 编辑:程序博客网 时间:2024/06/05 07:07
应用BooleanQuery进行组合查询时,条件之间的关系是由类BooleanClause.Occur控制的,BooleanClause.Occur中提供了三个参数值进行控制,分别是BooleanClause.Occur.MUST
BooleanClause.Occur.MUST_NOT
BooleanClause.Occur.SHOULD

它们的组合关系代表的意思如下:
1、MUST和MUST表示“与”的关系,即“并集”。
2、MUST和MUST_NOT前者包含后者不包含。
3、MUST_NOT和MUST_NOT没意义
4、SHOULD与MUST表示MUST,SHOULD失去意义;
5、SHOUlD与MUST_NOT相当于MUST与MUST_NOT。
6、SHOULD与SHOULD表示“或”的概念。

BooleanQuery的条件生成方法如下:
Term term1 = new Term(FIELD_CONTENT,"共");
TermQuery q1 = new TermQuery(term1);
BooleanQuery booleanQuery = new BooleanQuery();
booleanQuery.add(q1, BooleanClause.Occur.MUST);