Lucene2 0與lucene1 4的比較

2021-08-29 09:02:33 字數 1016 閱讀 1863

前陣子說看了ajax+lucene之後就寫讀後的體會的,但是事情多,一直拖到了現在。

簡單就寫一點2.0與1.4之間最常用的地方的改變

1.4中doc.add(field.text(...))之類的寫法,是往document中加feild的時候,直接呼叫filed的static方法

由以下幾種

field.text(...)

field.keyword(...)

field.unindexed(...)

field.unstored(...)

雖然在1.4中也提供了field的構造方法的時候支援不同型別的field,但是常見的還是採用上面的static的方法

來達到對field

是否切詞、是否索引、是否儲存的處理

但是在2.0中,doc.add(new field(.....))的方法來加field的處理,主要有幾個常量來指定對field的處理,field.index.yes

field.store.yes.....之類的方式

在解析的時候,

構建query物件進行查詢

在1.4中是這麼做的

query query = null;

query = queryparser.parse("...","...",new standardanalyzer());

但是在2.0中要這麼寫

queryparser parser = new queryparser("...",new standardanalyzer());

query = parser.parse("...");

看上去好像沒有什麼太大的不一樣,但是事實上仔細想想,後者的介面設計更合理。

這也是api設計中很重要的地方,給client程式設計師最大的便利

還有其他很多不一樣的地方,但是這兩個地方的不一樣是你在構建簡單的lucene應用中一定會遇到的

引用: goodtiger1986.spaces.live.com/blog/cns!2bcd0a2f8fe0765!442.entry#trackback

Lucene 2 0學習文件( )

接 indexwriter file path,analyzer a,boolean create indexwriter string path,analyzer a,boolean create 可見構造它需要乙個索引檔案目錄,乙個分析器 一般用標準的這個 最後乙個引數是標識是否清空索引目錄 它...

lucene2 0學習文件二

下面講一下索引的建立 其實從上面的例子就可以看出建立索引就用到document,indexwriter,field。最簡單的步驟就是 首先分別new 乙個document,indexwriter,field,然後用doument.add 方法加入field.其次用indexwrtier.adddoc...

lucene2 0學習文件三

先看一下它的建構函式 indexwriter directory d,analyzer a,boolean create indexwriter file path,analyzer a,boolean create indexwriter string path,analyzer a,boolea...