This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
null_value
editnull_value
editA 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.