几种复杂的数据类型
multivalue field
比如数据是
1 | {"tags":["tag1","tag2"]} |
这种数据建立索引时,与string类型是一样的, 数组中的数据是不能混的,要放字符串都放字符串.
empty field
比如 null, [], [null]这样的数据
object field
我们先来添加一个document
1 | PUT /company/emp/1 |
像上面这个address就是object类型的, 我们来看一下这个type的_mapping
1 | { |
可以看到 address中的每个field都有对应的type等
其实像我们刚才添加的这个document,它的数据在es底层是像这样存储的
1 | { |
再比如有更复杂的数据,比如下面我们再加一个,数据是
1 | { |
像这种包含json数组的数据,底层会从横向转为列式存储,就像这样
1 | { |
就是一列存在一起