lucene多條件查詢
1.使用 MultiFieldQueryParser:
BooleanClause.Occur[] clauses = {
BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD
};
Query query = MultiFieldQueryParser.parse(Version.LUCENE_30, queries, fields, clauses, new StandardAnalyzer(Version.LUCENE_30));
2.使用 BooleanQuery 動態 add query 對象:
BooleanQuery booleanQuery = new BooleanQuery();
QueryParser parser1 = new QueryParser(Version.LUCENE_30, "chapter_name", new StandardAnalyzer(Version.LUCENE_30));
Query titleQuery = parser1.parse("家");
booleanQuery.add(titleQuery, BooleanClause.Occur.SHOULD);
QueryParser parser2 = new QueryParser(Version.LUCENE_30, "content", new StandardAnalyzer(Version.LUCENE_30));
Query contentQuery = parser2.parse("家");
booleanQuery.add(contentQuery, BooleanClause.Occur.SHOULD);
BooleanClause.Occur[] clauses = {
BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD
};
Query query = MultiFieldQueryParser.parse(Version.LUCENE_30, queries, fields, clauses, new StandardAnalyzer(Version.LUCENE_30));
2.使用 BooleanQuery 動態 add query 對象:
BooleanQuery booleanQuery = new BooleanQuery();
QueryParser parser1 = new QueryParser(Version.LUCENE_30, "chapter_name", new StandardAnalyzer(Version.LUCENE_30));
Query titleQuery = parser1.parse("家");
booleanQuery.add(titleQuery, BooleanClause.Occur.SHOULD);
QueryParser parser2 = new QueryParser(Version.LUCENE_30, "content", new StandardAnalyzer(Version.LUCENE_30));
Query contentQuery = parser2.parse("家");
booleanQuery.add(contentQuery, BooleanClause.Occur.SHOULD);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.