Lucene 構造Query,查詢多個Field

2021-08-26 13:29:30 字數 474 閱讀 9429

在 lucene 中,查詢多 field 構造query ,最先想到multifieldqueryparser ,但是構造的時候 必須有個 querystring ,就是搜尋乙個串,去匹配多個field 。

有時候有這樣的需求,每個 field 匹配的不一樣,如更新索引時,需要更精確匹配到,這樣的就沒法滿足了。

termquery query1 = new termquery(term1);

termquery query2 = new termquery(term2);

booleanquery query = new booleanquery();

query.add(query1, booleanclause.occur.should);

query.add(query2, booleanclause.occur.should);

這樣就可以把多個query 組裝在一塊。

lucene搜尋方式(query型別)

出處 感謝作者 lucene有多種搜尋方式,可以根據需要選擇不同的方式。1 詞條搜尋 單個關鍵字查詢 主要物件是termquery 呼叫方式如下 term term new term 欄位名,搜尋關鍵字 query query new termquery term hits hits searche...

理解Lucene中的Query

query是乙個介面,它有很多實現類。queryparser是query解析器,用於將乙個字串解析為乙個query物件,這個query物件可能屬於termquery,也可能屬於phrasequery termquery booleanquery等。可以通過query物件的getclass 方法來檢視...

lucene搜尋方式(query型別)

lucene有多種搜尋方式,可以根據需要選擇不同的方式。1 詞條搜尋 單個關鍵字查詢 主要物件是termquery 呼叫方式如下 term term new term 欄位名,搜尋關鍵字 query query new termquery term hits hits searcher.search...