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

如何防止字段在lucene中不分析,lucene,Lucene,我希望像URL这样的字段能够被索引和存储,但不能被分析。Field类有一个构造函数来执行同样的操作 Field(String name, String value, Field.Store store, Field.Index index) 但是自从lucene 4以来,这个构造函数就被弃用了,建议使用StringField或TextField对象。但它们没有任何构造函数来指定要索引的字段。那么可以做到吗?你好,你说的完全正确。使用Lucene提供的新字段,您无法实现您想要的。 您可以继续使用

我希望像URL这样的字段能够被索引和存储,但不能被分析。Field类有一个构造函数来执行同样的操作

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

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

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

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

将未分析字段作为单个标记进行索引和存储的正确方法是使用
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)

将未分析字段作为单个标记进行索引和存储的正确方法是使用
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)

每当有什么东西被弃用时,总会有另一种更好的方法来做到这一点。所以我想应该有一些东西。我可以继续使用它,但当一个更高版本出现时,它将被完全删除,并可能在以后出现问题。我再次阅读了StringField的文档,默认情况下,StringField不会被分析,因为它没有标记化。它被编入索引并存储为您想要的单个值。请记住,如果需要更多不太常见的配置,则需要实现自己的字段或继续使用字段类型。正如你之前指出的。在发布新版本的情况下,实现您自己的字段更安全。每当有什么东西不推荐使用时,总会有一种更好的替代方法。所以我想应该有一些东西。我可以继续使用它,但当一个更高版本出现时,它将被完全删除,并可能在以后出现问题。我再次阅读了StringField的文档,默认情况下,StringField不会被分析,因为它没有标记化。它被编入索引并存储为您想要的单个值。请记住,如果需要更多不太常见的配置,则需要实现自己的字段或继续使用字段类型。正如你之前指出的。在发布新版本的情况下,实现您自己的字段更安全。可能的重复