Elasticsearch(016):es常见的字段映射类型之对象类型(object)
程序员文章站
2022-04-23 15:46:02
...
对象类型(object)
JSON文档本质上是分层的:文档可能包含内部对象,而内部对象又可能包含内部对象本身。
例如其下这个例子。
PUT example/docs/1
{
"region": "CN",
"manager": {
"age": 22,
"name": {
"first": "李",
"last": "小明"
}
}
}
可以看出: 最外层的JSON是一个对象,而其中的manager也是对象属性,而manager中属性的name属性也是同样的。
用平面的结构可以用如下的来表示。
{
"region": "CN",
"manager.age": 32,
"manager.name.first": "李",
"manager.name.last": "小明"
}
这种结构的关系在创建映射时在创建es
映射时该怎么表示呢。
示例如下:
#创建带有对象属性的映射关系
PUT example/docs/_mapping
{
"properties": {
"region": {
"type": "keyword"
},
"manager": {
"properties": {
"age": {"type": "short"},
"name": {
"properties": {
"first": {"type": "keyword"},
"last": {"type": "text"}
}
}
}
}
}
}
说明如下:
映射类型是对象的类型,并具有一个properties字段; 该manager字段是一个内部object字段;该manager.name字段是一个内object的内部manager域。
注意:不需要将该字段设置type为object显式,因为这是默认值。
如果需要索引对象数组而不是单个对象的索引,请使用嵌套数据类型。 嵌套类型我们后面会学习到。
推荐阅读
-
Elasticsearch(017):es常见的字段映射类型之嵌套类型(nested)
-
Elasticsearch(023):es常见的字段映射类型之IP类型
-
Elasticsearch(021):es常见的字段映射类型之地理点类型(geo-point)
-
Elasticsearch(025):es常见的字段映射类型之单词计数类型(token count)
-
Elasticsearch(019):es常见的字段映射类型之数组类型(arrays)
-
Elasticsearch(020):es常见的字段映射类型之二进制类型(binary)
-
Elasticsearch(016):es常见的字段映射类型之对象类型(object)
-
Elasticsearch(024):es常见的字段映射类型之 连接类型(join type)
-
Elasticsearch(022):es常见的字段映射类型之地理形状类型(geo_shape、多边的复杂的地址形状)
-
Elasticsearch(014):es常见的字段映射类型之date(日期类型)