前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch数据类型Object介绍

ElasticSearch数据类型Object介绍

作者头像
xdd
发布2022-07-12 14:24:37
1.1K0
发布2022-07-12 14:24:37
举报
文章被收录于专栏:java技术鸡汤java技术鸡汤

本文主要介绍一下ES中的object类型介绍:

JSON文档本质上是分层的:文档可能包含内部对象,而内部对象又可能包含内部对象本身:

代码语言:javascript
复制
curl -X PUT "localhost:9200/my-index-000001/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{ 
  "region": "US",
  "manager": { 
    "age":     30,
    "name": { 
      "first": "John",
      "last":  "Smith"
    }
  }
}
'
  • 创建一个文档,也是一个JSON对象
  • 该文档内部包含一个对象叫manager对象
  • manager对象内部存在一个name的对象

在内部,此文档被索引为键-值对的简单平面列表,如下所示:

代码语言:javascript
复制
{
  "region":             "US",
  "manager.age":        30,
  "manager.name.first": "John",
  "manager.name.last":  "Smith"
}

下面的结构和上面的是等价的:

代码语言:javascript
复制
curl -X PUT "localhost:9200/my-index-000001?pretty" -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "properties": { 
      "region": {
        "type": "keyword"
      },
      "manager": { 
        "properties": {
          "age":  { "type": "integer" },
          "name": { 
            "properties": {
              "first": { "type": "text" },
              "last":  { "type": "text" }
            }
          }
        }
      }
    }
  }
}
'

Object Field的参数

  • dynamic
    • 是否应将新属性动态添加到现有对象
    • 接受true(默认),false和strict
  • enabled
    • 为对象字段提供的JSON值应该被解析和索引(是true,默认值)还是应该被完全忽略(false)
  • properties
    • 对象中的字段,可以是任何数据类型,包括对象。可以将新属性添加到现有对象
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术鸡汤 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档