String[] key = new String[]{"printed","nonquery","sql","update","set"};
String[] fields = {fieldName,fieldName,fieldName,fieldName,fieldName};
//声明BooleanClause.Occur[]数组,它表示多个条件之间的关系
BooleanClause.Occur[] flags=new BooleanClause.Occur[]{BooleanClause.Occur.MUST,
BooleanClause.Occur.MUST,BooleanClause.Occur.MUST,BooleanClause.Occur.MUST,
BooleanClause.Occur.MUST};
Query query = MultiFieldQueryParser.parse(Version.LUCENE_46,key, fields, flags, analyzer);
其中:key, fields, flags 一一对应。
BooleanClause.Occur.MUST_NOT,BooleanClause.Occur.SHOULD。有以下6种组合:
1.MUST和MUST:取得连个查询子句的交集。
2.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。
3.MUST_NOT和MUST_NOT:无意义,检索无结果。
4.SHOULD与MUST、SHOULD与MUST_NOT:SHOULD与MUST连用时,无意义,结果为MUST子句的检索
结果。与MUST_NOT连用时,功能同MUST。
5.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。
相关推荐
4.10. MultiFieldQueryParser类--多域搜索 13 4.11. MultiSearcher类--多个索引搜索 13 4.12. ParalellMultiSearcher类---多线程搜索 14 5. 排序 14 5.1. Sort类 14 5.2. SortField类 14 5.3. 指定排序的法则 15 ...
lucifR R的Lucene接口 这个项目是一个演示,展示了如何使用Rjava从R访问... 您当前可以使用此包执行的三件事是:按列将数据帧索引到lucene索引,使用MultiFieldQueryParser搜索列以及使用Lucene分析器解析R字符串。
该开源软件对Apache Lucene索引每秒的查询进行基准测试。 它是Java的实现,并使用MultiFieldQueryParser构成查询。
import org.apache.lucene.queryParser.MultiFieldQueryParser; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import ...
b) 常用方法: TopDocs search(Query query, Filter filter, int n); //执行查询。n指的是最多返回的Document的数量。 Document doc(int 文件内部编号); //根据文档的内部编号获取到该Document void close(); //...