Lucene高階 and 和or的條件查詢

2021-08-22 18:24:05 字數 880 閱讀 3212

** /**

* @param type,資源的型別,其值為news或product

* @param searchkey,搜尋的關鍵字

* @return hits

*/ public hits executesearch(string type,string keyword)

; //同時宣告乙個與之對應的字段陣列

string fields = ;

//宣告booleanclause.occur陣列,它表示多個條件之間的關係

booleanclause.occur flags=new booleanclause.occur;

chineseanalyzer analyzer = new chineseanalyzer();

//用multifieldqueryparser得到query物件

query query = multifieldqueryparser.parse(key, fields, flags, analyzer);

//c:/index表示我們的索引檔案所在的目錄

indexsearcher searcher = new indexsearcher("c:/index");

//查詢結果

result = searcher.search(query);

} catch (exception e) }

return result;

} 這裡需要注意的就是booleanclause.occur陣列,它表示多個條件之間的關係,booleanclause.occur.must表示and,booleanclause.occur.must_not表示not,booleanclause.occur.should表示or.

Lucene高階高階之模糊查詢

模板 lucene支援相似查詢,在英文單詞中,roam與foam roams等詞非常相似,所謂相似查詢就是當我們查roam的時候,包含foam及roams的文件也會被包括到查詢結構中。相似查詢在關鍵字後面使用 波浪線 符號,後面可以跟乙個表示相似度的數字,比如 0.85,0.3,1,值在0 1之間,...

lucene 高階搜尋篇

一,概念 1 lucene相關排序流程 2 lucene相關類 query類 乙個抽象類,lucene檢索結果最終評分的總控制中心。其它評分有關的類和物件都是由 query類來管理和生產。weight類介面 定義 query權重計算的乙個實現介面,可以被重用。weight類可以用來生成 scorer...

Lucene的查詢及高階內容

基本查詢 test public void basequery throws exception 多樣化查詢 提取乙個查詢的方法 public void query query query throws exception 詞條查詢 test public void termquery throws...