ElasticSearch [field_sort] 未知字段 [格式]

ElasticSearch [field_sort] unknown field [format]

我正在向我的 ElasticSearch 查询添加一个 sort 条件字段。我正在使用 ES 7.14 / Kibana 7.10。 我的 sort 数组字段看起来像

[
                    
    { "update_date": { "order": "desc", "missing" : "_last", "unmapped_type" : "long", "format": "strict_date_optional_time_nanos" } },
    { "release_date": { "order": "desc", "missing" : "_last", "unmapped_type" : "long", "format": "strict_date_optional_time_nanos" } }
]

我使用的地方:desc 排序,_last 用于 missing 值; long 对应 unmapped_typestrict_date_optional_time_nanos 对应 format。 查询生成器抱怨

node:15873) UnhandledPromiseRejectionWarning: Error: [x_content_parse_exception] [1:275] [field_sort] unknown field [format]

尽管 ES 7.14 中有 format 字段 is available。如果我删除 format 字段,它会起作用,但我无法控制我正在使用的排序字段。那么如何指定排序字段的格式呢?

这是因为 format 参数是 released in 7.13,所以您的 Kibana 7.10 不知道它,因此在发送查询时会报错。

升级时应始终保持 your component versions in synch 以防止出现您描述的不兼容问题。

所以解决方法很简单:将 Kibana 升级到 7.14。