映射参数properties
类型映射、object
字段和nested
字段包含子字段,称为properties
,这些属性可以是任何数据类型,包括object
和nested
,可以添加属性:
- 在创建索引时显式地定义它们。
- 在使用
PUT mapping
API添加或更新映射类型时显式地定义它们。 - 仅通过索引包含新字段的文档就可以动态地映射属性。
下面是一个向映射类型、object
字段和nested
字段添加properties
的示例:
PUT my_index
{
"mappings": {
"properties": {
"manager": {
"properties": {
"age": { "type": "integer" },
"name": { "type": "text" }
}
},
"employees": {
"type": "nested",
"properties": {
"age": { "type": "integer" },
"name": { "type": "text" }
}
}
}
}
}
PUT my_index/_doc/1
{
"region": "US",
"manager": {
"name": "Alice White",
"age": 30
},
"employees": [
{
"name": "John Smith",
"age": 34
},
{
"name": "Peter Brown",
"age": 26
}
]
}
- 顶级映射定义中的属性。
-
manager
对象字段下的属性。 -
employees
嵌套字段下的属性。 - 对应于上述映射的示例文档。
properties
设置允许在同一索引中为同名字段设置不同的设置,可以使用PUT mapping
API将新属性添加到现有字段。
点符号
内部字段可以在查询、聚合等中引用,使用点符号:
GET my_index/_search
{
"query": {
"match": {
"manager.name": "Alice White"
}
},
"aggs": {
"Employees": {
"nested": {
"path": "employees"
},
"aggs": {
"Employee Ages": {
"histogram": {
"field": "employees.age",
"interval": 5
}
}
}
}
}
}
必须指定到内部字段的完整路径。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。