elasticsearch 聚合时 类型转换错误
有一个域 inp_type本来为Interger类型,但有的存储了string类型;
执行这个域的聚合时,
"aggs":{ "level2":{ "terms":{ "field":"inp_type" } } }
报的是类型转换错误,
{ "error": "ClassCastException[org.elasticsearch.search.aggregations.bucket.terms.StringTerms$Bucket cannot be cast to org.elasticsearch.search.aggregations.bucket.terms.LongTerms$Bucket]", "status": 500 }
后来看有建议用script处理的,代码如下:
"aggs":{ "level2":{ "terms":{ "script":"doc['inp_type'].value" } } }
这样以后,有结果了.