我创建了 Elasticsearch 索引,它有大约 350 个字段(包括嵌套字段),我只为其中的几个定义了映射。在调用 _update API 时,我遇到了 400 Bad request 的异常。
已超出索引 [test_index] 中总字段 [1000] 的限制
我想了解此异常的确切原因,因为我定义映射的字段和字段的数量都小于 1000。
注意:我有嵌套字段和启用动态映射。
问候,
桑迪普
Ash*_*lam 47
您可以通过增加 index.mapping.total_fields.limit(默认 1000)的值来解决此问题
index.mapping.total_fields.limit
索引中的最大字段数。字段和对象映射以及字段别名计入此限制。默认值为 1000。
要将总字段限制增加到 2000,试试这个
PUT test_index/_settings
{
"index.mapping.total_fields.limit": 2000
}
Run Code Online (Sandbox Code Playgroud)
限制字段数的原因是:
在索引中定义太多字段会导致映射爆炸,从而导致内存不足错误和难以恢复的情况。这在动态映射中很常见。每次文档包含新字段时,这些字段都会在索引的映射中结束
Mar*_*rco 12
我通过谷歌登陆这里。这对我有用(来自外壳):
curl -s -XPUT http://localhost:9200/test-index/_settings -H 'Content-Type: application/json' -d '{"index.mapping.total_fields.limit": 2000}'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36142 次 |
最近记录: |