使用Lucene 4.3.0 API构建术语的最佳方法?

时间:2013-05-10 17:26:20

标签: solr lucene term

我目前正在使用以下步骤构建一个术语

最终静态(班级):Term t=new Term(fieldName);

在某些功能中:

t.createTerm(termText); 

似乎已从Lucene 4.3.0 API中删除了createTerm方法,...

我目前只是使用构造函数

创建术语
Term term = new Term(field,text); 

我只是考虑使用最新的Lucene API检查创建Term的最佳/有效方法。有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

很简单: 新术语(fieldName,termText)

Lucene 3.x及之前的额外构造函数和createTerm()的原因是实际名称的实习(String.intern())的额外成本。在Lucene 4.0中,字段名称不再被实现,因为索引结构已更改,并且不再需要术语枚举中的字段< - >字段比较。所以只需使用构造函数创建一个术语。

一般来说,Term只是一个轻量级的包装器,不再是Lucene的基本组件,它只是用于与早期版本的“向后兼容”,主要仅用于构造像新的TermQuery(Term)的查询,....从实现的角度来看,在Lucene 4.x中,每个字段都像一个单独的索引,每个字段的术语都由新类BytesRef表示,它是一个包含许多数据的较大byte []数组的一个片段。索引中字段的术语。

Uwe

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