lucene多欄位查詢

2021-05-21 22:11:55 字數 2053 閱讀 9176

booleanquery typenegativesearch = new booleanquery();

queryparser parser = new queryparser("contents", new analyzer());

parser.setdefaultoperator(queryparser.and_operator);

query = parser.parse(querystring);

queryparser parser2 = new queryparser("adisell", new analyzer());

query2 = parser2.parse("/"2/"");  

queryparser parser3 = new queryparser("adisell", new analyzer());              

query3 = parser3.parse("/"2/"");             

queryparser parser4 = new queryparser("adisell", new analyzer());              

query4 = parser4.parse("/"2/"");             

queryparser parser4 = new queryparser("adisell", new analyzer());              

query4 = parser4.parse("/"2/"");  

queryparser parser..n = new queryparser("adisell", new analyzer());

query..n = parser..n.parse("/"2/"");  

typenegativesearch.add(query,occur.must);

typenegativesearch.add(query2,occur.must);

typenegativesearch.add(query3,occur.must);

typenegativesearch.add(query4,occur.must);

.....

typenegativesearch.add(query..n,occur.must);

hits = searcher.search(typenegativesearch);

1, 幾種span的queryspantermquery:檢索效果完全同termquery,但內部會記錄一些位置資訊

,供spanquery的其它api使用,是其它屬於spanquery的query的基礎。

spanfirstquery:查詢方式為從field的內容起始位置開始,在乙個固定的寬度內查詢所指定的

詞條。

spannearquery:功能類似pharasequery。spannearquery查詢所匹配的不一定是短語,還有可

能是另乙個spanquery的查詢結果作為整體考慮,進行巢狀查詢。

spanorquery:把所有spanquery查詢結果綜合起來,作為檢索結果。

spannotquery:從第乙個spanquery查詢結果中,去掉第二個spanquery查詢結果,作為檢索結

果。2, 多條件索引關係

booleanclause用於表示布林查詢子句關係的類,包括:booleanclause.occur.must,

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:表示「或」關係,最終檢索結果為所有檢索子句的並集

lucene多欄位查詢

我的例子就是2.0的,現在給你的是兩個域,你可以用n個域 booleanquery typenegativesearch new booleanquery queryparser parser new queryparser contents new analyzer parser.setdefau...

Lucene 排序及多字段查詢

預設情況下,indexsearcher類的search方法返回查詢結果時,是按文件的分值排序的,可以使用過載的search方法對結果排序 indexsearcher.search query,sort new sort 和 sort.relevance,以及null一樣,採用預設排序,要定義排序字段...

Lucene 排序及多字段查詢

預設情況下,indexsearcher類的search方法返回查詢結果時,是按文件的分值排序的,可以使用過載的search方法對結果排序 indexsearcher.search query,sort new sort 和 sort.relevance,以及null一樣,採用預設排序,要定義排序字段...