0

我想要一些像 urls 这样的字段被索引和存储但不被分析。Field 类有一个构造函数来做同样的事情。

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

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

4

2 回答 2

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)
于 2013-09-27T15:43:41.857 回答
-1

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

于 2013-09-27T07:47:09.460 回答