elasticsearch,Java,Json,elasticsearch" /> elasticsearch,Java,Json,elasticsearch" />

Java Elasticsearch-默认情况下不映射字段

Java Elasticsearch-默认情况下不映射字段,java,json,elasticsearch,Java,Json,elasticsearch,为文档编制索引时,Elasticsearch将自动创建缺失字段(文档内部)的映射 是否可以配置(或)我们是否可以指示elasticsearch不要创建缺少的字段,而是忽略 基本上,我们使用JavaPOJO,我们使用同一POJO的实例对文档进行索引(通过使用GSON库将此实例转换为json),并且还使用此POJO中的一些字段进行一些外部用途 因此,当我们设置用于外部目的的字段,但将文档发送到Elasticsearch时,这些附加字段也会被保存。我们希望避免这种情况。是的,可以在Elasticsea

为文档编制索引时,Elasticsearch将自动创建缺失字段(文档内部)的映射

是否可以配置(或)我们是否可以指示elasticsearch不要创建缺少的字段,而是忽略

基本上,我们使用JavaPOJO,我们使用同一POJO的实例对文档进行索引(通过使用GSON库将此实例转换为json),并且还使用此POJO中的一些字段进行一些外部用途


因此,当我们设置用于外部目的的字段,但将文档发送到Elasticsearch时,这些附加字段也会被保存。我们希望避免这种情况。

是的,可以在Elasticsearch中禁用动态映射功能,以便在接收新字段时不会动态创建映射。从文件中:

动态映射

当Elasticsearch在 文档,它使用动态映射来确定 字段,并自动将新字段添加到类型映射中

有时这是理想的行为,有时不是。 也许您不知道哪些字段将添加到文档中 稍后,但您希望自动为它们编制索引。也许你 只是想忽略它们。或 — 特别是如果你正在使用 Elasticsearch作为主要数据存储 — 也许您想要未知字段 引发异常以提醒您该问题

幸运的是,您可以通过动态设置控制这种行为, 它接受以下选项:

  • true-动态添加新字段 — 默认值

  • false-忽略新字段

  • strict-如果遇到未知字段,则引发异常


它适用于strict而不是false,如何使它适用于dynamic='false'?