gpt4 book ai didi

elasticsearch - ElasticSearch如何解析Yaml中的双重条目?

转载 作者:行者123 更新时间:2023-12-02 23:28:25 25 4
gpt4 key购买 nike

我被要求调查 ElasticSearch 集群中的性能问题,并且遇到了以下配置:

indices:
breaker:
fielddata:
limit: 50%
fielddata:
cache:
expire: 15m
size: 40%
memory:
index_buffer_size: 50%

请注意 有两个 fielddata 条目 .
fielddata.limit 会发生什么? , fielddata.cache.expirefielddata.cache.size以上场景中的设置,与以下场景相比,这对我来说似乎更合乎逻辑?
indices:
breaker:
fielddata:
limit: 50%
cache:
expire: 15m
size: 40%
memory:
index_buffer_size: 50%

例如 fielddata.limit由于有 fielddata 的第二个声明,该字段会丢失。等级?

最佳答案

YAML 规范中的 Relevant section:

The content of a mapping node is an unordered set of key: value node pairs, with the restriction that each of the keys is unique.



因此,您发布的 YAML 完全是非法的,并且兼容的加载器必须停止并出现错误 - 但是,由于节点相等性很重要,它没有在 ElasticSearch (SnakeYAML) 中使用的 YAML 实现中实现,它也有一个 open issue 关于重复键。

由于 ElasticSearch 似乎允许重复键,因此它不符合 YAML 规范。这是一件坏事,我建议为此打开一个问题。更重要的是,无法从所使用的 YAML 实现中推断出 ElasticSearch 行为。它有一个 history 用于重复键,并且有一个来自开发人员之一的 statement:

In addition, the next major version of elasticsearch will have strict setting parsing and return an error on start up if this happens.



总结一下:ElasticSearch 不会为重复键抛出错误是一个已知的缺点,将在下一个主要版本中修复。因此,当前行为是无意的,不应使用。根据链接的错误,重复键的最后一个值的值获胜,之前的值将被丢弃。不会发生子映射的合并。

关于elasticsearch - ElasticSearch如何解析Yaml中的双重条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com