简单易懂的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.LUCENE_30));
Query titleQuery = parser1.parse("你");
booleanQuery.add(titleQ

最低0.47元/天 解锁文章
查询条件匹配&spm=1001.2101.3001.5002&articleId=47681567&d=1&t=3&u=e36e765ed44e4a1dbe8e9ac43d9c2174)
2242

被折叠的 条评论
为什么被折叠?



