Lucene 5.3术语向量

Tho*_*mas 2 lucene

我正在从Lucene 3迁移到Lucene 5.3,我遇到了转换一行代码的问题.

我曾经传递字段Field.Index.ANALYZED,Field.TermVector.YES

现在,使用此代码:

Document.Add(new TextField("Tags", Data.Tags, Field.Store.YES));
Run Code Online (Sandbox Code Playgroud)

我不知道如何传递TermVector字段,以便可以查找标记字.
5.3 doc本质上是一个类列表,对任何事情都没有真正的解释,而Lucene 3在论坛中有很多信息,我还没有找到关于5.3的任何信息

fem*_*gon 5

这是Lucene 4.0中发生的更改,因此您可能正在查看错误的资源以了解此问题.它在4.0迁移指南中介绍(查找标题为"从Field实例中分离IndexableFieldType"的部分)

您需要定义一个FieldType传递给Field构造函数.如果你最想要TextField行为,但是使用术语向量,你可以复制TextField的标准FieldTypes,并修改它们,如下所示:

FieldType myFieldType = new FieldType(TextField.TYPE_NOT_STORED);
myFieldType.setStoreTermVectors(true);
...
Field f = new Field("Tags", Data.Tags, myFieldType);
Run Code Online (Sandbox Code Playgroud)