如何使用 TermVector Lucene 4.0

2022-01-15 00:00:00 search lucene java

在索引方法中,我使用以下行:

In the indexing method I use the following line:

Field contentsField = new Field("contents", new FileReader(f), Field.TermVector.YES);

但是,在 Lucene 4.0 中,此构造函数已被弃用,应使用 new TextField 代替 new Field.

However, in Lucene 4.0 this constructor is deprecated and new TextField should be used instead of new Field.

TextField 的问题在于它的构造函数中不接受 TermVector.

But the problem with TextField is that it don't accept TermVector in its constructors.

有没有办法使用新的构造函数在我的 Lucene 4.0 索引中包含术语向量?

Is there a way to include the Term Vector in my indexing in Lucene 4.0 with the new constructors?

谢谢

推荐答案

TextField 是一个方便的类,适用于需要没有术语向量的索引字段的用户.如果您需要术语向量,只需使用 字段.由于您需要创建 FieldType 首先,将 storeTermVectorstokenizer 设置为 true,然后在 中使用这个 FieldType 实例>字段构造函数.

TextField is a convenience class for users who need indexed fields without term vectors. If you need terms vectors, just use a Field. It takes a few more lines of code since you need to create an instance of FieldType first, set storeTermVectors and tokenizer to true and then use this FieldType instance in Field constructor.

相关文章