Lucene 5.3术语向量

时间:2015-10-14 18:36:56

标签: lucene

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

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

现在,使用此代码:

Document.Add(new TextField("Tags", Data.Tags, Field.Store.YES));

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

1 个答案:

答案 0 :(得分:5)

这是Lucene 4.0中发生的更改,因此您可能正在查看错误的资源以了解此问题。它包含在4.0 Migration Guide中(查找标题为“从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);