2

从 Elasticsearch 5.0 升级到 Elasticsearch 6.4 后,我在使用排序时收到以下警告:

!弃用:[nested_pa​​th] 已被弃用,取而代之的是 [nested] 参数

!弃用:[nested_filter] 已被弃用,取而代之的是 [nested] 参数

使用 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 使用不推荐使用的语法。

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

4

0 回答 0