es聚合查询报错

raise HTTP_EXCEPTIONS.get(status_code, TransportError)(elasticsearch.exceptions.RequestError: RequestError(400, search_p

raise HTTP_EXCEPTIONS.get(status_code, TransportError)(

elasticsearch.exceptions.RequestError: RequestError(400, 'search_phase_execution_exception', 'Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [location.reg_city] in order to load field data by uninverting the inverted index. Note that this can use significant memory.')

经过查证是字段location.reg_city类型为Text格式,然后涉及到了聚合排序等功能。没有进行优化,也类似没有加索引。没有优化的字段es默认是禁止聚合/排序操作的。所以需要将要聚合的字段添加优化

所以需要在es里对该字段进行设置,执行如下操作

curl -X PUT "localhost:9200/factory_info_115/_mapping?pretty" -H 'Content-Type: application/json' -d'

{

"properties": {

"location.reg_city": {

"type": "text",

"fielddata": true

}

}

}

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754939314a5217864.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信