我想要一些像url这样的字段,要编入索引并存储但不要进行分析。 Field类有一个构造函数来做同样的事情。
Field(String name, String value, Field.Store store, Field.Index index)
但是这个构造函数自lucene 4以来已被弃用,建议使用StringField或TextField对象。但是它们没有任何构造函数来指定要索引的字段。那可以吗?
答案 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来实现自己的字段。在那里,你可以自己决定你希望你的领域有什么样的行为。