Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Mapping ›Mapping parameters

null_value

Значение null не может быть проиндексировано или запрошено. Когда поле установлено в значение null (или пустой массив или массив значений null), оно обрабатывается так, как будто у этого поля нет значений.

Параметр null_value позволяет заменить явные значения null указанным значением, чтобы оно могло быть проиндексировано и запрошено. Например:

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "status_code": {
        "type":       "keyword",
        "null_value": "NULL" 
      }
    }
  }
}

PUT my-index-000001/_doc/1
{
  "status_code": null
}

PUT my-index-000001/_doc/2
{
  "status_code": [] 
}

GET my-index-000001/_search
{
  "query": {
    "term": {
      "status_code": "NULL" 
    }
  }
}

Заменить явные значения null термином NULL.

Пустой массив не содержит явного значения null, и поэтому не будет заменён на null_value.

Запрос на NULL возвращает документ 1, но не документ 2.

Значение null_value должно иметь тот же тип данных, что и поле. Например, поле типа long не может иметь строковое значение null_value.

Значение null_value влияет только на то, как данные индексируются, оно не изменяет сам _source документ.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/null-value.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API