Elasticsearch: сортировка по полю с последними значениями custom_null - PullRequest
0 голосов
/ 10 июля 2020

Есть ли способ в Java сортировать по полю с custom_null и отображать его последним? Кажется, что отсутствует: "_last" не работает для custom_null.

Сопоставление моей собственности:

"myProperty": {
        "type": "keyword",
        "null_value": "NULL"
      }

Запрос в ES:

{
"sort" : [
    { "myProperty" :  {"missing" : "_last"}}
] }

Результаты:

  1. myProperty = A
  2. myProperty = B
  3. myProperty = null
  4. myProperty = W

1 Ответ

0 голосов
/ 10 июля 2020

Для этого я создал скрипт:

{

"query": {
    "function_score": {
        "boost_mode": "replace",
        "query": {"match_all": {}},
        "script_score": {
            "script": "doc['myProperty'].value == 'NULL' ? 0 : 1"
        }   
    }
},
"sort": [
   "_score",
   {"myProperty": "desc"}
]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...