lucene的基本使用

2021-07-27 21:58:45 字數 2341 閱讀 8588

lucene使用總結

1.建立索引庫

1)確定索引路徑   string path = "f:\\indexs";

2)關聯索引路位置fsdirectory directory = fsdirectory.(newfile(path));     

3)建立ik分詞器型別 analyzer analyzer = new ikanalyzer();

4)建立索引核心類配置indexwriterconfig indexwriterconfig = new indexwriterconfig(version.lucene_4_10_2, analyzer);

5)建立分詞器  indexwriter = new indexwriter(directory, indexwriterconfig);

6)建立索引文章物件document doc =newdocument();

7)新增索引內

doc.add(newstringfield("id", "p1010110", store.)); doc.add(newtextfield("title", "lucene

經典教程

", store.));

8)新增索引庫indexwriter.adddocument(doc);

9)提交索引庫

indexwriter.commit();

10)關閉資源 indexwriter.close();

2.搜尋索引庫

1)指定索引庫位置string path = "f:\\indexs";

2)讀取索引庫

directoryreader reader =  directoryreader.

(fsdirectory.

(new

file(path)));

3)查詢核心類indexsearcher indexsearcher =newindexsearcher(reader);

4)制定查詢內容       string qname="

經典";

5)建立ik解析分詞器queryparser qparser =newqueryparser("films",newikanalyzer());//films是查詢欄位名

6)解析查詢內容query query = qparser.parse(qname);

7)查詢核心類查詢topdocs topdocs= indexsearcher.search(query, 10);

8)文件概要資訊遍歷

for

(scoredoc sdoc : scoredocs)

詳細講解:

1.關聯索引路徑2種: fsdirectory 檔案磁碟路徑、ramdirectory 記憶體路徑,依賴檔案磁碟路徑fsdirectory

2.分詞器4中:ikanalyzer(推薦,中英文使用,可以新增擴充套件詞典和停用詞典)、standardanalyzer(簡單分單詞和單個漢字)、cjkanalyzer(兩兩拆分,不管詞義)、smartchineseanalyzer(適合中文、英文不好並且不支援擴充套件)

3.document的indexablefield 三個實現類 : longfield、stringfield(不分詞)、textfield(分詞)、

自定義(需要儲存,不需要索引的字段)

fieldtype testtype = newfieldtype();

testtype.settokenized(false);//

不分詞

testtype.setindexed(true);//索引

testtype.setstored(true);//儲存

field test = newfield("title", "

如何學習

solr",testtype);

document.add(test);

4.indexwriter操作索引目錄時,對目錄進行加鎖 write.lock,當兩個writer同時操作索引目錄的時候,會報錯,解決工具類實現單例

5.queryparser查詢解析器 2中:queryparser(只支援單域分詞)、multifieldqueryparser(查詢多個域)

6.query查詢 6中:termquery(不分詞查詢)、fuzzyquery(相似查詢,最多2次變換)、numericrangequery(範圍查詢)、booleanquery(組合查詢)

7.設定得分

8.設定高亮

Lucene的原理與基本使用

lucene中存的就是一系列的二進位制壓縮檔案和一些控制檔案,它們位於計算機的硬碟上,這些內容統稱為索引庫,索引庫有二部份組成 原始記錄 a 存到索引庫中的原始文字,例如 百知教育是一家nb的it培訓機構 詞彙表 a 按照一定的分詞策略 即分詞器 analyzer 將原始記錄中的每個字元拆分後,存入...

Lucene基本API元件的理解

本篇 前面幾篇筆者已經把lucene的最基本的入門,介紹完了,本篇就對lucene基本的知識做乙個總結,以便於加深對lucene基本api元件的理解。為了方便對比學習,下面給出 資料 索引期間使用的api元件 檢索期間使用的api元件 indexwriter indexreader indexwri...

Lucene使用總結

1 引入lucene相關的jar,本實驗採用的是如下版本,現在最新的版本為3.0 lucene core 2.4.0.jar lucene analyzers 2.4.0.jar lucene highlighter 2.4.0.jar je analysis 1.5.3.jar 2 lucene3...