Свойства
Отображения типов, object поля и nested поля содержат подполя, называемые properties. Эти свойства могут быть любого типа данных, включая object и nested. Свойства можно добавить:
- явно, определив их при создании индекса.
- явно, определив их при добавлении или обновлении типа отображения с помощью API обновления отображения.
- динамически, просто проиндексировав документы, содержащие новые поля.
Ниже приведен пример добавления properties в тип отображения, object поля и nested поля:
PUT my-index-000001
{
"mappings": {
"properties": {
"manager": {
"properties": {
"age": { "type": "integer" },
"name": { "type": "text" }
}
},
"employees": {
"type": "nested",
"properties": {
"age": { "type": "integer" },
"name": { "type": "text" }
}
}
}
}
}
PUT my-index-000001/_doc/1
{
"region": "US",
"manager": {
"name": "Alice White",
"age": 30
},
"employees": [
{
"name": "John Smith",
"age": 34
},
{
"name": "Peter Brown",
"age": 26
}
]
} | Свойства в определении отображения верхнего уровня. | |
| Свойства в поле типа | |
| Свойства в поле типа | |
| Пример документа, соответствующего вышеуказанному отображению. |
Параметр properties разрешено иметь различные параметры для полей с одинаковым именем в одном индексе. Новые свойства можно добавить к существующим полям, используя API обновления отображения.
Точечная нотация
В запросах, агрегациях и т. д. внутренние поля можно обозначить с помощью точечной нотации:
GET my-index-000001/_search
{
"query": {
"match": {
"manager.name": "Alice White"
}
},
"aggs": {
"Employees": {
"nested": {
"path": "employees"
},
"aggs": {
"Employee Ages": {
"histogram": {
"field": "employees.age",
"interval": 5
}
}
}
}
}
} Полный путь к внутреннему полю должен быть указан.
© 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/properties.html