某天同事跟我說,ES數據不能進行插入,查詢集羣日誌html
requests java.lang.IllegalArgumentException: Limit of total fields [1000] in index [my_index] has been exceededjava
原文地址: https://www.elastic.co/guide/en/elasticsearch/reference/5.4/mapping.html#mapping-typeapp
mapping 作了映射保護,防止mapping 爆炸elasticsearch
如下設置容許您限制可手動或動態建立的字段映射的數量,以防止錯誤的文檔致使映射爆炸:ide
index.mapping.total_fields.limit:ui
索引中的最大字段數。默認值爲1000設計
index.mapping.depth.limit:日誌
字段的最大深度,之內部對象的數量來衡量。例如,若是全部字段都是在根對象級別定義的,則深度爲1。若是有一個對象映射,則深度爲 2,等等。默認值爲20。code
index.mapping.nested_fields.limithtm
nested索引中的最大字段數,默認爲50。使用100個嵌套字段索引1個文檔實際上索引101個文檔,由於每一個嵌套文檔都被索引爲單獨的隱藏文檔
PUT my_index/_settings { "index.mapping.total_fields.limit": 2000 }
此方法治標不治本,也是極力不推薦,出現這種狀況徹底由於在設計mapping的時候考慮欠缺,業務場景不明確,是否適合此mapping設計