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实战-复合数据类型的主要内容,如果未能解决你的问题,请参考以下文章