es父子结构查询_探索ES-嵌套对象和父子对象(四)

前文回顾

之前讲完了探索ES-对象和嵌套对象(三),今天继续深入讲讲父子结构。

嵌套对象

上篇有讲到嵌套对象可以解决数组对象不能关联查询的问题。

但是,嵌套对象也有一些不足之处。

因为ES的文档是不可修改的,所以每次修改了子对象,都需要重新创建一个新的文档对象。这种实现方式会导致增大修改的开销。

那是不是有一种方式可以在修改子对象的时候,不会影响到父对象呢?

下面介绍的父子对象可以解决这个问题。

父子对象

我们先来看一下官网的例子。先来看一下mapping。

PUT my_index

{

"mappings": {

"_doc": {

"properties": {

"my_join_field": {

"type": "join",

"relations": {

"question": "answer"

}

}

}

}

}}

复制代码

从上面的mapping中可以看到父子节点的需要join类型来进行关联。与join类型同级别的还有relations属性,设置了父节点的名称和子节点的名称。

让我们看看父节点是如何插入的。

PUT my_index/_doc/1?refresh

{

"text": "This is a quest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值