2015-10-14 69 views
1

我正在从Lucene 3迁移到Lucene 5.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尚未

回答

3

这是发生在一个变化Lucene 4.0,所以你可能会查看错误的资源来理解这个。它涵盖了4.0 Migration Guide(查找标题为“从现场情况独立IndexableFieldType”一节)

您需要定义一个FieldType传递到了Field构造。如果你最想TextField行为,但长期的载体,可以复制文本字段的标准域类型,并进行修改,这样的事情:

FieldType myFieldType = new FieldType(TextField.TYPE_NOT_STORED); 
myFieldType.setStoreTermVectors(true); 
... 
Field f = new Field("Tags", Data.Tags, myFieldType); 
+0

我不得不跳过Lucene的4.0,所以我完全错过了变化!现在我明白它如何适应新的API。谢谢! – Thomas