Expected numeric type on field [my_field.keyword], but got [keyword]

这是在进行avg和sum等Metrics Aggregations(度量聚合)的时候报错的,进行数学维度的计算,期望得到一个数字字段,但是得到的是一个String的keyword类型,若把my_field.keyword换成my_field,则又会包上一个错误。则需要在index数据之前进行mapping配置,将该字段的值定义为numeric,或者开启mapping的Numeric detection(数字探测)。默认是关闭的,但是这样的话就会将所有的数据类型都映射为数字了。开启方式如下:

PUT es_test_final8
{
     "mappings":{
     "logger":{
     "numeric_detection":true}}}

你可能感兴趣的:(elasticSearch)