【Elasticsearch】`nested`字段和`join`字段的区别

`nested`字段和`join`字段都是 Elasticsearch 中用于处理复杂数据结构的高级数据类型,但它们在设计目标、使用场景和实现方式上存在显著差异。以下是它们的主要区别:

---

1.设计目标

• `nested`字段:

• 目标:用于处理单个文档中的嵌套数组,将数组中的每个对象独立索引,使其可以独立于其他对象进行查询。

• 场景:适用于需要在数组中独立查询每个对象的场景,例如博客文章中的评论、订单中的商品等。

• `join`字段:

• 目标:用于在同一个索引中建立父子关系,允许文档之间形成层级关系。

• 场景:适用于需要表示一对多关系的场景,例如作者和书籍、问题和答案等。

---

2.数据结构

• `nested`字段:

• 数据存储在同一文档内部。

• 每个嵌套对象被索引为独立的隐藏文档,但仍然属于同一个父文档。

• 示例:

```json

    PUT my-index/_doc/1

    {

      "title": "Elasticsearch Guide",

      "comments": [

        { "user": "Alice", "comment": "Great article!" },

        { "user": "Bob", "comment": "Very

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值