在上乙個章節我們講到lucene的索引過程的起點是建立乙個indexwriter物件。
在indexwriter物件建立之後,我們將會建立document文件物件,並且將其加入域(field)。
document doc = new document();
doc.add(new field("path", f.getpath(), field.store
.yes, field.index
.not_analyzed));
doc.add(new field("modified", datetools.timetostring(f.lastmodified(), datetools.resolution
.minute), field.store
.yes, field.index
.not_nalyzed));
doc.add(new field("contents", new fieldreader(f)));
docment物件主要包括:
docment檔案建立完成之後,將其加入到之前建立的indexwriter物件中,
writer.adddocument(***);
然後indexwriter再呼叫對應的documentswriter.adddocument,再然後呼叫documentswriter.updatedocument。
其中,documentswriter包含以下幾點:
其中,將文件加入documentwriter還可以細分為:
以上的敘述中,對於documentswriter的快取管理還有一些不夠細緻,這方面感興趣的可以自己研究一下,包括上面將文件加入documentswriter中,第二個步驟的使用文件集處理物件文件時涉及到多執行緒的問題,可以自行去扒一下**,看一下實現原理和執行機制。
Lucene初探之索引過程分析(一)
經過上面的學習,我們對於lucene的索引檔案的儲存原理有了初步的了解,不過了解了這些只是為隨後的操作lucene打下了乙個很小的基礎,我們無法依靠這些知識就去自完成搜尋引擎的整個設計。接下來,我們將開始深入lucene的索引過程,進一步去深入了解lucene的執行。對於lucene的索引過程,除了...
Lucene搜尋 索引過程筆記
lucene索引文件過程 初始化indexwriter 構建document 呼叫indexwriter.adddocument執行寫入 初始化documentwriter。引數指定寫出位置為記憶體 生成自增段id 呼叫documentwriter.adddocument 執行寫入 寫出fieldi...
Lucene之建立索引
lucene用來建搜尋引擎要解決四個問題 抓取資料 解析資料 建立索引和執行搜尋。首先為每一篇文章新增標題 內容 寫作時間等資訊,從而寫好每一篇文章,然後將每一篇文章新增到書裡面去。這樣問及就寫好了。建立索引的過程如下 建立索引器indexwriter,這相當於一本書的框架。建立文件物件docmen...