Сортировка с COALESCE в упругом поиске - PullRequest
0 голосов
/ 26 апреля 2019

У меня проблема с сортировкой пустого столбца с помощью ElasticSearch.Ранее я использовал SQL-запрос COALESCE, чтобы получить ненулевое значение из столбца.Как отсортировать ненулевое значение из столбцов?

SQL-запрос

ORDER BY COALESCE(
  NULLIF(table1.colA,''),
  NULLIF(table1.colB,''),
  NULLIF(table1.colC,'')
) DESC

Приведенный выше оператор проверит, имеет ли colA значение, затем выберите colA.Если colA имеет значение null, он проверит colB.

Как отсортировать с помощью COALESCE аналогичной функции в Elasticsearch?

1 Ответ

1 голос
/ 26 апреля 2019

Вы можете использовать основанный на сценариях выигрыш , с этой функцией вы полностью контролируете, как вычисляется поле _score.

В вашем случае вы могли бы написать небольшой безболезненный скрипт, который возвращает первое непустое поле в документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...