使用排序时出现嵌套过滤器问题

时间:2018-10-19 09:05:17

标签: sorting elasticsearch ongr

从Elasticsearch 5.0升级到Elasticsearch 6.4后,使用sort时出现以下警告:

  

!弃用:[nested_pa​​th]已弃用,以支持   [嵌套]参数

     

!弃用:[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正在使用不赞成使用的语法。

它仍然有效,但是我不喜欢收到弃用警告,并且在某些时候可能会引发错误。

0 个答案:

没有答案