_ignored поле
Поле _ignored индексирует и хранит имена всех полей в документе, которые были проигнорированы при индексировании документа. Это может произойти, например, если поле имело неправильный формат и ignore_malformed был включён, когда значение поля keyword превысило его необязательную настройку ignore_above, или когда index.mapping.total_fields.limit был достигнут и index.mapping.total_fields.ignore_dynamic_beyond_limit был установлен на true.
Это поле можно искать с помощью запросов term, terms и exists, и оно возвращается в составе результатов поиска.
Например, следующий запрос соответствует всем документам, имеющим одно или несколько проигнорированных полей:
resp = client.search(
query={
"exists": {
"field": "_ignored"
}
},
)
print(resp) response = client.search(
body: {
query: {
exists: {
field: '_ignored'
}
}
}
)
puts response const response = await client.search({
query: {
exists: {
field: "_ignored",
},
},
});
console.log(response); GET _search
{
"query": {
"exists": {
"field": "_ignored"
}
}
} Аналогично, следующий запрос находит все документы, чьё поле @timestamp было проигнорировано во время индексирования:
resp = client.search(
query={
"term": {
"_ignored": "@timestamp"
}
},
)
print(resp) response = client.search(
body: {
query: {
term: {
_ignored: '@timestamp'
}
}
}
)
puts response const response = await client.search({
query: {
term: {
_ignored: "@timestamp",
},
},
});
console.log(response); GET _search
{
"query": {
"term": {
"_ignored": "@timestamp"
}
}
} Начиная с версии 8.15.0, поле _ignored также поддерживает агрегации. Например, следующий запрос находит все поля, которые были проигнорированы:
resp = client.search(
aggs={
"ignored_fields": {
"terms": {
"field": "_ignored"
}
}
},
)
print(resp) response = client.search(
body: {
aggregations: {
ignored_fields: {
terms: {
field: '_ignored'
}
}
}
}
)
puts response const response = await client.search({
aggs: {
ignored_fields: {
terms: {
field: "_ignored",
},
},
},
});
console.log(response); GET _search
{
"aggs": {
"ignored_fields": {
"terms": {
"field": "_ignored"
}
}
}
}
© 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/mapping-ignored-field.html