null_value
Значение null не может быть проиндексировано или найдено. Когда поле устанавливается в null (или пустой массив или массив значений null), оно обрабатывается так, как будто это поле не имеет значений.
Параметр null_value позволяет заменить явные значения null заданным значением, чтобы его можно было индексировать и искать. Например:
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"
}
}
} | Заменить явные значения | |
| Пустой массив не содержит явного значения | |
| Запрос на |
Значение 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/8.17/null-value.html