ElasticSearch实战-复合数据类型

Posted 张志翔ۤ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch实战-复合数据类型相关的知识,希望对你有一定的参考价值。

        在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是:

  • 数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类型;
  • 对象类型是指字段的值是一个JSON文档;
  • 嵌套字段是指对象类型的一个特殊版本,ElasticSearch引擎在内部把嵌套字段索引成单个文档。如果在嵌套字段中定义对象数组,那么对象数组中的每个元素(文档)都被索引成单个文档,每个文档都能被独立地查询。

一、对象类型

        JSON文档是有层次结构的,一个文档可能包含其他文档,如果一个文档包含其他文档,那么该文档值是对象类型,其数据类型是对象,ElasticSearch默认把文档的属性type设置为object,即"type":"object"。

        例如,在创建索引映时,定义name字段为对象类型,不需要显式定义type属性值,其默认值是object:

POST user-002/_doc
   "properties":{  
      "age":{ "type":"integer"},
      "name":

以上是关于ElasticSearch实战-复合数据类型的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch实战-复合数据类型

ElasticSearch实战(十三)-索引字段常用类型

ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套

elasticsearch基础—— 复合聚合

ElasticSearch实战(十六)-高级数据字段类型

Elasticsearch查询类型