Как отсортировать Nulls Last с Elastic? - PullRequest
1 голос
/ 18 июня 2019

Как я могу отсортировать строковое поле в упругом поиске. Мне нужно взять его последним, но я не могу этого сделать.

Я пробую сортировку по ASC, но она не работает

Пример:

[
{"url":"https://amazon"},
{"url":"https://amazon"},
{"url":null},
{"url":"https://amazon"}
]

мой код:

sourceBuilder = sourceBuilder.sort("url", SortOrder.ASC)

И используя мой код, я получаю то же самое

I expect to see:
[
{"url":"https://amazon"},
{"url":"https://amazon"},
{"url":"https://amazon"},
{"url":null}
]

1 Ответ

0 голосов
/ 19 июня 2019

попробуйте "отсутствует": "_last" в виде

GET testindex/_search
{
  "sort": [
    {
      "url": {
        "order": "asc",
        "missing": "_last"
      }
    }
  ]
}

Mapping

PUT testindex3/_mapping
{
  "properties": {
    "url": {
      "type": "text",
      "fields": {
        "keyword": {
          "type": "keyword",
          "ignore_above": 256
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...