从Elasticsearch 5.0升级到Elasticsearch 6.4后,使用sort时出现以下警告:
!弃用:[nested_path]已弃用,以支持 [嵌套]参数
!弃用:[nested_filter]已弃用,以支持 [嵌套]参数
使用ongr / elasticsearch-dsl时,我的排序查询如下:
"sort": [
{
"_channels._showOrder": {
"nested_path": "_channels",
"order": "asc",
"nested_filter": {
"term": {
"_channels.id": 1658
}
}
}
}
],
在Elasticsearch 6.4中,它应如下所示:
"sort" : [
{
"_channels._showOrder" : {
"order" : "asc",
"nested": {
"path": "_channels",
"filter": {
"term" : { "_channels.id" : 1658 }
}
}
}
}
]
似乎需要更新FieldSort以支持新结构。目前,用于FieldSort的setNestedFilter正在使用不赞成使用的语法。
它仍然有效,但是我不喜欢收到弃用警告,并且在某些时候可能会引发错误。