简单易懂的Lucene实现从多域查询条件匹配。通过搜索一个内容,从多域查询匹配内容。
两种方法:
1、用类MultiFieldQueryParser
将要查询的字段设置相同,从不同的域都查询,并设置布尔变量为should,表示可能存在,这样如果至少有一个存在,就会返回,如果没有一个符合,则返回为0
String[] query = {"你","你","你"};
String[] fields ={ TITLE, CONTENT, AUTHOR };
BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD};
Query q=MultiFieldQueryParser.parse(Version.LUCENE_46, query, fields,flags, new StandardAnalyzer(Version.LUCENE_46));
2、用booleanQuery动态添加查询对象
BooleanQuery booleanQuery = new BooleanQuery();
QueryParser parser1 = new QueryParser(Version.LUCENE_46,TITLE , new StandardAnalyzer(Version.