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...