2015-10-20 44 views
0

我開始學習Lucene,所以我正在閱讀Lucene in Action。從這本書中關於場的摘錄:Lucene - 關鍵字提交混淆

Keyword—Isn’t analyzed, but is indexed and stored in the index verbatim. 
This type is suitable for fields whose original value should be preserved in 
its entirety, such as URLs, file system paths, dates, personal names, Social 
Security numbers, telephone numbers, and so on 

我從這個理解是什麼,如果一個文本與關鍵字字段它不分析索引(不分割成tokens),但被索引。但是,我不明白的是and stored in the index verbatim

我對存儲在索引中感到困惑。我認爲如果文本被編入索引,它將被存儲在索引數據結構中。

任何人都可以用一個例子來解釋我嗎?

回答

2

我認爲你必須閱讀第一版的Lucene in Action。那本書是11歲,絕望已過時。我不會太擔心理解Lucene 1.4的約定。

The Second Edition可用。它已經五年了,基於Lucene 3.0,所以它肯定有些過時,特別是在lucene 4.0版本發生了很大變化之後,但並不是絕望。讀書肯定會更有用。


雖然存儲和索引字段之間的區別仍然存在。在Lucene的說法:

  • 索引 - 該字段是索引,可以搜索。關鍵字字段(或最近的StringField)不會被分析,但它們會被編入索引,因此它們的完整內容可以在沒有標記的情況下進行搜索。

  • 存儲 - 該字段與索引表單分開存儲,以供以後檢索。當您從Lucene獲得搜索結果(例如,從IndexSearcher.doc(int))時,您獲得的文檔將只存儲其中的字段。

因此,你可以有,你可以搜索領域,但不會在結果中返回,或者是在返回結果,但不能被搜索的字段。