ES 7.14配置sort排序时提示[field_sort]未知字段[format]如何解决
错误根因
你配置的format参数不属于单字段排序的可配置属性,ES 7.x版本中field_sort对象本身不支持format参数,因此会抛出unknown field [format]的解析异常。官方文档中提到的排序format参数是用于全局控制所有排序字段返回值的格式,需要放在搜索请求的顶层配置中,而非单个排序字段的规则内。
正确配置方案
如果你需要指定排序字段的返回格式,将format参数提到sort数组的同一层级即可,配置示例如下:
{ "query": { // 此处写你的查询逻辑 }, "sort": [ { "update_date": { "order": "desc", "missing" : "_last", "unmapped_type" : "long" } }, { "release_date": { "order": "desc", "missing" : "_last", "unmapped_type" : "long" } } ], "format": "strict_date_optional_time_nanos" }
如果仅需要控制单个日期字段的排序格式,不需要在排序规则中额外指定,只要保证索引中对应字段的mapping配置为指定的日期格式即可,ES排序时会自动读取字段的mapping格式完成数值转换,不会影响排序逻辑的准确性。
内容的提问来源于stack exchange,提问作者loretoparisi
相关产品推荐
相关产品推荐

