2013-05-10 44 views
0

我使用下面的步驟目前正在建設中的術語,使用Lucene 4.3.0 API構建術語的最佳方法是什麼?

最終靜態(類級別):Term t=new Term(fieldName);

裏面的一些功能(S):

t.createTerm(termText); 

好像createTerm方法已經從Lucene 4.3.0 API中刪除,...

我目前只是使用構造函數創建該術語,

Term term = new Term(field,text); 

我剛想到使用最新的Lucene API檢查最佳/有效的方式來創建一個Term。有人能指導我嗎?

回答

2

很簡單: 新的期限(字段名,termText)

原因在Lucene的3.x和之前的額外的構造函數和createTerm()是實習的額外費用(中的String.intern())的字段名稱。在Lucene 4.0中,字段名稱不再被禁用,因爲索引結構已更改,字段比較中不再需要使用術語枚舉中的字段< - >。所以只需使用構造函數創建一個術語。

總的來說,術語只是一個輕量級的包裝器,不再是Lucene的基本組件,它只是用於與早期版本的「向後兼容」,主要僅用於構建像新的TermQuery(Term)這樣的Query,...從實現的角度來看,在Lucene 4.x中每個字段都像一個單獨的索引,每個字段的條款都由新的類BytesRef表示,這是一個從包含數據的較大byte []數組指數中一個領域的許多術語。

烏韋

http://lucene.472066.n3.nabble.com/Best-way-to-construct-term-using-Lucene-4-3-0-API-td4062388.html

相關問題