前陣子說看了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...