我需要将数据插入elasticsearch
中:数据具有大约50种不同的模式,这些模式将转换为同一elastic
index
中的不同类型。其中一种类型是UNSTRUCTURED
,但是其他模式是不变的,并且很少随时间变化。
问题是:随着时间的推移,我应该如何应对变化的模式:
type
更改为<<SomeType>>_v1.x
。elastic
分析和更改就不会相应地进行映射。
schama
仅通过增加或减少json
键的情况下,它会成功创建正确的映射吗?答案 0 :(得分:0)
是的,如果启用了动态映射,则每个具有新字段的新文档都将导致现有映射创建新字段,请参考-https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic-field-mapping.html 另外,自5.5版以来,索引中的多种映射类型已被弃用,而在7.X版中已被完全删除,因此您可能希望一开始就避免使用多类型方法。 https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
尽管要谨慎对待动态映射,但是您可以阅读有关ES在进行动态映射时如何识别每个字段的数据类型的文档,但是在某些情况下,您可能需要手动更新映射,因为在某些情况下,例如嵌套对象,ES无法将嵌套对象数组与简单对象数组区分开,并且如果您在更新映射时未提及显式嵌套的字段类型,则在动态更新映射时会假定其为对象数组