类型映射、object
字段和nested
字段包含子字段,称为properties
,这些属性能够是任何数据类型,包括object
和nested
,能够添加属性:app
PUT mapping
API添加或更新映射类型时显式地定义它们。下面是一个向映射类型、object
字段和nested
字段添加properties
的示例:code
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 } } } } } }
必须指定到内部字段的完整路径。