如何防止字段在lucene中不分析

时间:2013-09-27 04:12:28

标签: lucene

我想要一些像url这样的字段,要编入索引并存储但不要进行分析。 Field类有一个构造函数来做同样的事情。

Field(String name, String value, Field.Store store, Field.Index index)

但是这个构造函数自lucene 4以来已被弃用,建议使用StringField或TextField对象。但是它们没有任何构造函数来指定要索引的字段。那可以吗?

2 个答案:

答案 0 :(得分:4)

将未分析字段作为单个标记进行索引和存储的正确方法是使用StringField。它被设计用于处理原子字符串,如id号,URL等。您可以指定它是否与Lucene 3.X存储相似性

如:

new StringField("myUrl, "http://stackoverflow.com/questions/19042587/how-to-prevent-a-field-from-not-analyzing-in-lucene", Field.Store.YES)

答案 1 :(得分:-1)

您好,你说的完全正确。随着Lucene提供的新领域,你无法实现你想要的。 您可以按照描述继续使用字段,也可以通过实现接口IndexableField来实现自己的字段。在那里,你可以自己决定你希望你的领域有什么样的行为。