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:
resp = client.indices.create(
index="my-index-000001",
mappings={
"properties": {
"status_code": {
"type": "keyword",
"null_value": "NULL"
}
}
},
)
print(resp)
resp1 = client.index(
index="my-index-000001",
id="1",
document={
"status_code": None
},
)
print(resp1)
resp2 = client.index(
index="my-index-000001",
id="2",
document={
"status_code": []
},
)
print(resp2)
resp3 = client.search(
index="my-index-000001",
query={
"term": {
"status_code": "NULL"
}
},
)
print(resp3) response = client.indices.create(
index: 'my-index-000001',
body: {
mappings: {
properties: {
status_code: {
type: 'keyword',
nil_value: 'NULL'
}
}
}
}
)
puts response
response = client.index(
index: 'my-index-000001',
id: 1,
body: {
status_code: nil
}
)
puts response
response = client.index(
index: 'my-index-000001',
id: 2,
body: {
status_code: []
}
)
puts response
response = client.search(
index: 'my-index-000001',
body: {
query: {
term: {
status_code: 'NULL'
}
}
}
)
puts response const response = await client.indices.create({
index: "my-index-000001",
mappings: {
properties: {
status_code: {
type: "keyword",
null_value: "NULL",
},
},
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: 1,
document: {
status_code: null,
},
});
console.log(response1);
const response2 = await client.index({
index: "my-index-000001",
id: 2,
document: {
status_code: [],
},
});
console.log(response2);
const response3 = await client.search({
index: "my-index-000001",
query: {
term: {
status_code: "NULL",
},
},
});
console.log(response3); 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 | |
| An empty array does not contain an explicit | |
| A query for |
The null_value needs to be the same data type as the field. For instance, a long field cannot have a string null_value.
The null_value only influences how data is indexed, it doesn’t modify the _source document.
© 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/8.17/null-value.html