Lucene提供的服務(wù)實(shí)際包含兩部分:
1) 寫入:將你提供的源寫入索引或者將其從索引中刪除
寫入流程:
(1)源字符串首先經(jīng)過analyzer處理,分成一個(gè)個(gè)單詞,去除可選(stopword)
(2)將源中需要的信息加入Document的各個(gè)field中,并把需要索引的field索引起來,把需要存儲的
field存儲起來
(3)將索引寫入存儲器,存儲器可以是內(nèi)存或者磁盤
2) 讀出:向用戶提供全文搜索服務(wù),讓用戶通過關(guān)鍵字定位源
讀出流程:
(1)用戶提供搜索關(guān)鍵詞,經(jīng)過analyzer處理
(2)對處理后的關(guān)鍵字搜索索引找出對應(yīng)的Document
(3)用戶根據(jù)需要從找到的Docement中提取需要的Field
概念:
Analyzer :分析器:把一個(gè)字符串按照某種規(guī)則劃分成一個(gè)個(gè)的詞語,并去除其中的無效詞語.
Document :用戶提供的源是一條條記錄,它們可以是文本文件、字符串或者數(shù)據(jù)庫表的一條記錄等等。
一條記錄經(jīng)過索引后,就是以 一個(gè)Document的形式存儲在索引文件中。用戶進(jìn)行搜索也
是以Document列表的形式返回。
field : 一個(gè)Docuement可以包含多個(gè)信息域,這些信息域就是通過Field在Document中存儲的。它
有兩個(gè)屬性可以選擇:存儲和索引。
term : 搜索的最小單位,表示文檔的一個(gè)詞語,由兩部分組成:它表示的詞語和這個(gè)詞語出現(xiàn)的
field
tocken : 是term的第一次出現(xiàn),它包含term文本和相應(yīng)的起止偏移以及一個(gè)類型的字符串
segment : (小文件)添加索引時(shí),document首先寫入不同的小文件然后再合并成一個(gè)大索引文件