如何在lucene 4.0中控制字段索引

如何在lucene 4.0中控制字段索引,lucene,Lucene,在Lucene版本3.9之前,我们可以通过使用field.index.NO或field.index.analysed等指定索引字段或不索引字段。但是在Lucene 4.0中没有可用的构造函数,我们可以在其中定义此构造函数。我们如何在此版本中控制索引 我的意思是,如果我想在索引中存储一个字段“name”,但不想为其编制索引,那么我如何在lucene 4.0中实现这一点?构造函数使用字段。index参数可用,但在4.0中被弃用,不应使用。相反,您应该查看Field的子类来控制字段的索引方式 是标准

在Lucene版本3.9之前,我们可以通过使用field.index.NO或field.index.analysed等指定索引字段或不索引字段。但是在Lucene 4.0中没有可用的构造函数,我们可以在其中定义此构造函数。我们如何在此版本中控制索引


我的意思是,如果我想在索引中存储一个字段“name”,但不想为其编制索引,那么我如何在lucene 4.0中实现这一点?

构造函数使用
字段。index
参数可用,但在4.0中被弃用,不应使用。相反,您应该查看
Field
的子类来控制字段的索引方式

  • 是标准的未分析索引字段。索引的字段是单个标记。像标识符这样的东西是合适的,您只需要搜索精确的匹配项

  • 是文本内容的标准分析(当然还有索引)字段。这是全文搜索的适当选择

  • 是一个完全没有索引的存储字段(因此不可搜索)

除了
StoredField
,每个字段都可以传递一个
字段。将
值存储为构造函数参数,类似于Lucene 3.6


有关此更改的更多信息,请查看,特别是标题为“从字段实例中分离IndexableFieldType”的部分。

谢谢您的回答。这很有帮助。我们可以做的另一件事是创建一个新的FieldType,并使用可用的方法setIndexed()、setStored()等设置我们的需求,然后我们可以将这个FieldType对象传递给field构造函数。