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
}
}
}