null_value
A null
value cannot be indexed or searched. When a field is set to null
, (or an empty array or an array of null
values) it is treated as though that field has no values.
The null_value
parameter allows you to replace explicit null
values with the specified value so that it can be indexed and searched. For instance:
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" } } }
- Replace explicit
null
values with the termNULL
. - An empty array does not contain an explicit
null
, and so won’t be replaced with thenull_value
. - A query for
NULL
returns document 1, but not document 2.
Important
The null_value
needs to be the same data type as the field. For instance, a long
field cannot have a string null_value
.
Note
The null_value
only influences how data is indexed, it doesn’t modify the _source
document.