温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ElasticSearch中怎么防止Mapping爆炸

发布时间:2021-07-21 11:24:57 来源:亿速云 阅读:224 作者:Leah 栏目:大数据

ElasticSearch中怎么防止Mapping爆炸 ,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1 故事背景

某天同事跟我说,ES数据不能进行插入,查询集群日志

requests java.lang.IllegalArgumentException: Limit of total fields [1000] in index [my_index] has been exceeded

2 Mapping 说明

mapping 做了映射保护,防止mapping 爆炸

以下设置允许您限制可手动或动态创建的字段映射的数量,以防止错误的文档导致映射爆炸:

index.mapping.total_fields.limit:

索引中的最大字段数。默认值为1000

index.mapping.depth.limit:

字段的最大深度,以内部对象的数量来衡量。例如,如果所有字段都是在根对象级别定义的,则深度为1。如果有一个对象映射,则深度为 2,等等。默认值为20。

index.mapping.nested_fields.limit

nested索引中的最大字段数,默认为50。使用100个嵌套字段索引1个文档实际上索引101个文档,因为每个嵌套文档都被索引为单独的隐藏文档

3 临时解决方案修改setting

PUT my_index/_settings
{
    "index.mapping.total_fields.limit": 2000
}

关于ElasticSearch中怎么防止Mapping爆炸 问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI