es的“limit of total fields” 和“field expansion mathes too many fields”问题都是因为字段过多引起的,前者是因为插入时,后者是在查询时。解决方案如下:
limit of total fields
字段过多,使用时报错。
解决方案:
PUT index名/_settings
{"index.mapping.total_fields.limit": 2000或更大
}
如果因为某些原因删除了当前index,后期又重新建立了同样的index,原先的index.mapping.total_fields.limit设置会失效。
解决方案:创建索引时,设置setting
PUT index名
{"settings": {"index.mapping.total.fields.limit": 2000或更大,……},"mappings": {……}
}
高级解决方案:使用模板(待验证)
链接:
ES 处理日志字段超出 1000 引发的报错.
初探 Elasticsearch Index Template(索引模板).
field expansion mathes too many fields
修改es配置文件(elasticsearch.yml)
增加下句:
indices.query.bool.max_clause_count: 20000
并重启 ES
链接: Elasticsearch出现field expansion matches too many fields异常.