如何控制在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