共计 924 个字符,预计需要花费 3 分钟才能阅读完成。
映射参数 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
}
}
}
}
}
}
必须指定到内部字段的完整路径。
正文完
发表至:无分类
2019-07-31