Lucene02 索引的相關概念

2021-07-22 05:34:55 字數 1314 閱讀 3039

一、重要類

(1)indexwriter:索引過程中的核心元件,用於建立新索引或者開啟已有索引,以及向索引中新增、刪除、更新被索引文件的資訊。

(2)document:代表一些域(field)的集合。

(3)field及其子類:乙個域,如文件建立時間,作者,內容等。

(4)analyzer:分析器。

(5)directory:可用於描述lucene索引的存放位置。

二、文件索引的基本步驟

(1)建立索引庫indexwriter

(2)根據檔案建立文件document

(3)向索引庫中寫入文件內容

三、索引、document、filed之間的關係

多個filed組成乙個document,多個document組成乙個索引

document doc = new document();  

field pathfield = new stringfield("path", filetoindex.getpath(),field.store

.yes);

doc.add(pathfield);

writer.adddocument(doc);

四、field的實現型別

binarydocvaluesfield,

doublefield,

floatfield,intfield,

longfield,

numericdocvaluesfield,

sorteddocvaluesfield,

sortedsetdocvaluesfield,

storedfield,

stringfield,

textfield

重要:

stringfield: a field that is indexed but not tokenized

textfield: a field that is indexed and tokenized

field.store.yes/no

在建立乙個field的時候,需要傳入乙個引數,用於指定內容是否需要儲存到索引中。這些被儲存的內容可以在搜尋結果中返回,呈現給使用者。

五、對富文字(非純文字)的索引

若需要對此類文字進行索引,需要使用tika等工具先將其正文內容提取出來,然後再進行索引。

Lucene的平行索引

有時對於乙個document來說,有一些field會被頻繁地操作,而另一些field則不會。這時可以將頻繁操作的field和其他field分開存放,而在搜尋時同時檢索這兩部分field而提取出乙個完整的document。這要求兩個索引包含的document的數量必須相同。在建立索引的時候,可以同時建...

Lucene索引的建立

lucene索引的建立 1.搜尋引擎之所以檢索速度快其中乙個因素就是對索引的建立。就好像書籍的目錄,可以讓我們迅速定位到內容。這裡引用一張圖說明搜尋過程。從圖中可以很清晰的看到乙個搜尋系統,三個部分 收集資料整理成索引文件,這個過程多是確定你需要檢索的資訊。比如如果你需要檢索圖書館中的書。那麼你可能...

lucene 建立索引與搜尋所用到的相關類

今天繼續看 lucene in action 將簡單地做一下筆記。一 核心索引相關類 1 indexwriter 職責 建立索引或新增lucene結構的記錄 document 到索引中 建立 修改索引而不允許讀取索引。2 directory 職責 lucene所建立的索引位置。此類是個抽象類,其子類...