【问题标题】:Best way to construct term using Lucene 4.3.0 API?使用 Lucene 4.3.0 API 构建术语的最佳方法?
【发布时间】:2013-05-10 17:26:20
【问题描述】:

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

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

在一些函数内部:

t.createTerm(termText); 

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

我目前只是使用构造函数创建术语,

Term term = new Term(field,text); 

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

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    很简单: 新术语(字段名称,术语文本)

    在 Lucene 3.x 和之前的版本中额外的构造函数和 createTerm() 的原因是额外的实习 (String.intern()) 字段名称的成本。在 Lucene 4.0 中,字段名称不再被保留,因为索引结构发生了变化,并且不再需要在术语枚举中进行字段字段比较。因此,只需使用构造函数创建一个术语。

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

    乌韦

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2021-12-18
      • 2017-08-20
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多