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