Object
Objet类型:此时ES的文档组织会默认解析为扁平化的结构,此时对象数组的同一个字段会组织在一起。
如下:
创建一个manager类型的Object
curl -X PUT "localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d'
{
"region": "US",
"manager": [{
"age": 30,
"name": {
"first": "John1",
"last": "Smith1"
},{
"age": 18,
"name": {
"first": "John2",
"last": "Smith2"
}
}
在内部,此文档被索引为一个简单,平坦的键值对列表,平坦化结构如下
{ "region": "US", "manager.age": [30,18], "manager.name.first": ["John1","John2"], "manager.name.last": ["Smith1","Smith2"]}
Nested类型:nested
类型是object
数据类型的专用版本,它允许对象数组以可以彼此独立查询的方式进行索引。
在内部,嵌套对象将数组中的每个对象索引为单独的隐藏文档,这意味着可以独立于其他对象查询每个嵌套对象。因嵌套对象都被索引了,连接嵌套对象至根文档的查询速度非常快–几乎与查询单一文档一样快。
结构如下:
{
"region": "US