最新在玩lucene.Net ,在博客圓上看了不少文章.其中對FIEld 有這樣的描述:
其中FIEld包括四個類型: Keywork
該類型的數據將不被分析,而會被索引並保存保存在索引中.
UnIndexed
該類型的數據不會被分析也不會被索引,但是會保存在索引.
UnStored
和UnIndexed剛好相反,被分析被索引,但是不被保存.
Text
和UnStrored類似.如果值的類型為string還會被保存.如果值的類型為Reader就不會被保存和UnStored一樣.
比較有趣的是後面兩個 UnStored 和 Text
不保存只索引是怎麼回事呢????
我按照這種方式來進行測試,
對一個文件夾進行分析,
UnIndexed 方式 建立時間 27秒 搜索關鍵字 "JXTA" 不能進行搜索
UnStored 方式 建立時間 48秒 搜索關鍵字 "JXTA" 能得到結果,但是將結果讀取出來的時候,錯誤了.
非常有趣,UnIndexed 不能進行搜索,這個是意料之中
但是 UnStored 雖然測試結果是和他的功能描述一樣,但是有一點想不通的是,如果沒有存儲到數據的話,怎麼能得到搜索結果了.
就這麼一點想不通,不過不要緊了.已經能達到目的了.
做全文檢索不存內容的話雖然建立索引的時間會比較長,但是搜索的效率卻能得到提高.
不過還是不知道為什麼UnStored 能做到這樣,知道的朋友解析一下.^_^