如何控制在lucene 4.0中索引字段
在Lucene版本3.9之前,我们可以通过使用FIELD.INDEX.NO或FIELD.INDEX.ANALYZED等来指定索引或不索引字段。但是在lucene 4.0中没有可用的构造函数,我们可以在其中定义这个。 我们如何控制这个版本的索引?
我的意思是,如果我想要一个字段“名称”存储在索引,但不想索引它,那么我怎么能在lucene 4.0呢?
采用Field.Index
参数的构造函数可用,但在4.0中不推荐使用,不应使用。 相反,您应该查看Field
子类以控制字段的索引方式。
-
StringField
是标准的未分析索引字段。 该字段被索引是一个单一的标记。 这是适当的东西,如标识符,您只需要search完全匹配。 -
TextField
是文本内容的标准分析(当然还有索引)字段。 这是全文search的合适select。 -
StoredField
是一个根本没有索引的存储字段(因此不可search)。
除了StoredField
外,其中的每一个都可以作为构造函数parameter passing一个Field.Store
值,类似于Lucene 3.6。
有关此更改的更多信息,请参阅“ Lucene迁移指南” ,特别是标题为“ 从字段实例中分离IndexableFieldType ”