Проблема с вложенным фильтром при использовании сортировки - PullRequest
0 голосов
/ 19 октября 2018

После обновления с Elasticsearch 5.0 до Elasticsearch 6.4 я получаю следующие предупреждения при использовании сортировки:

!Устаревание: [nested_path] устарело в пользу параметра [nested]

!Устаревание: [nested_filter] устарел в пользу параметра [nested]

При использовании ongr /asticsearch-dsl мой запрос на сортировку выглядит следующим образом:

"sort": [
    {
      "_channels._showOrder": {
        "nested_path": "_channels",
        "order": "asc",
        "nested_filter": {
          "term": {
            "_channels.id": 1658
          }
        }
      }
    }
  ],

В Elasticsearch6.4 это должно выглядеть следующим образом:

"sort" : [
       {
          "_channels._showOrder" : {
             "order" : "asc",
             "nested": {
                "path": "_channels",
                "filter": {
                   "term" : { "_channels.id" : 1658 }
                }
             }
          }
       }
    ]

Похоже, что FieldSort необходимо обновить для поддержки новой структуры.В настоящее время setNestedFilter для FieldSort использует устаревший синтаксис.

Это все еще работает, но мне не нравится получать предупреждения об устаревании, и в какой-то момент это, вероятно, вызовет ошибку.

...