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
nullvalues with the termNULL. - An empty array does not contain an explicit
null, and so won’t be replaced with thenull_value. - A query for
NULLreturns 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.