Elastisearch——Nested 字段类型

nested类型是object数据类型的一个专门版本,它允许对对象数组进行索引,以便它们可以相互独立地查询。

当用大的任意键值集合键入键值对时,可以考虑将每个键值对建模为具有键和值字段的自己嵌套文档。相反,考虑使用扁平化数据类型,它将整个对象映射为单个字段,并允许对其内容进行简单搜索。嵌套文档和查询通常比较昂贵,因此在这个用例中使用扁平化数据类型是一个更好的选择。

对象阵列的展平方式

Elasticsearch没有内部对象的概念。因此,它将对象层次结构展平为字段名和值的简单列表。例如:

PUT my-index-000001/_doc/1
{
  "group" : "fans",
  "user" : [  (1)
    {
      "first" : "John",
      "last" :  "Smith"
    },
    {
      "first" : "Alice",
      "last" :  "White"
    }
  ]
}

(1)用户字段被动态添加为object类型的字段。

以前的文档将在内部转换为更像以下内容的文档:

{
  "group" :        "fans",
  "user.first" : [ "alice", "john" ],
  "user.last" :  [ "smith", "white" ]
}

user.first和user.last字段被展平为多值字段,alice和white之间的关联将丢失。此文档与al

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值