Поле _index
При выполнении запросов по нескольким индексам иногда желательно добавить условия запроса, связанные с документами только определенных индексов. Поле _index позволяет сопоставлять индекс, в который был индексирован документ. Его значение доступно в некоторых запросах и агрегациях, а также при сортировке или выполнении скриптов:
PUT index_1/_doc/1
{
"text": "Document in index 1"
}
PUT index_2/_doc/2?refresh=true
{
"text": "Document in index 2"
}
GET index_1,index_2/_search
{
"query": {
"terms": {
"_index": ["index_1", "index_2"]
}
},
"aggs": {
"indices": {
"terms": {
"field": "_index",
"size": 10
}
}
},
"sort": [
{
"_index": {
"order": "asc"
}
}
],
"script_fields": {
"index_name": {
"script": {
"lang": "painless",
"source": "doc['_index']"
}
}
}
} | Запрос к полю | |
| Агрегирование по полю | |
| Сортировка по полю | |
| Доступ к полю |
Поле _index представлено виртуально — оно не добавляется в индекс Lucene как реальное поле. Это означает, что вы можете использовать поле _index в запросе term или terms (или любом запросе, переписанном в запрос типа term, например, в запросах match, query_string или simple_query_string), а также в запросах prefix и wildcard. Однако оно не поддерживает запросы regexp и fuzzy.
Запросы к полю _index принимают псевдонимы индексов в дополнение к конкретным именам индексов.
При указании имени удаленного индекса, например, cluster_1:index_3, запрос должен содержать разделительный символ :. Например, запрос wildcard к полю cluster_*:index_3 будет соответствовать документам из удаленного индекса. Однако запрос к полю cluster*index_1 соответствует только локальным индексам, поскольку разделитель отсутствует. Это поведение согласуется с обычными правилами разрешения имен удаленных индексов.
© 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/7.17/mapping-index-field.html