После обновления с 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 использует устаревший синтаксис.
Это все еще работает, но мне не нравится получать предупреждения об устаревании, и в какой-то момент это, вероятно, вызовет ошибку.