Elasticsearch(016):es常见的字段映射类型之对象类型(object)

对象类型(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显式,因为这是默认值。

如果需要索引对象数组而不是单个对象的索引,请使用嵌套数据类型。 嵌套类型我们后面会学习到。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值