【ES】--Elasticsearch的Nested类型介绍

目录

  • 一、问题现象
  • 二、普通数组类型
    • 1、为什么普通数组类型匹配不准?
  • 三、nested类型
  • 四、nested类型查询操作
    • 1、只根据nested对象内部数组条件查询
    • 2、只根据nested对象外部条件查询
    • 3、根据nested对象内部及外部条件查询
    • 4、向nested对象数组追加新数据
    • 5、删除nested对象数组某一个对象节点的数据
    • 6、遍历更新nested对象数组的数据
    • 7、动态修改nested对象数组的数据
    • 8、根据下标修改nested对象数组的数据
    • 9、批量修改nested对象数组的数据

一、问题现象

问题现象:在实际项目中,一些数组存储的字段,根据匹配条件去查询经常会查询到一些“其他不需要”的数据,为什么会出现这种情况?
----这种问题现象,就是ES的Object类型的数据扁平化存储问题

nested类型是object一种数据类型,对象数组的优先选择类型。Nested将数组中的每个对象作为单独的隐藏文档(hidden separate document)进行索引。nested属于object类型的一种,是Elasticsearch中用于复杂类型对象数组的索引操作。
nested类型数据是单独存储很耗资源,因此默认一个index最多只有50个nested字段。此外,虽然nested是单独存储的,但是其字段数也算入index总字段数,默认最多1000个。

二、普通数组类型

普通数组的mapping参数设置

 "word_one": {"properties": {"desc": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"no": {"type": "text","fields": {"keyword": {"type": "keyword","ignore_above": 256}}},"sid": {"type": "long"},"sign": {"type": "boolean"}}}

现在进行搜索sid、desc字段数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现象结论:word_one是普通数组List,多个must匹配条件会匹配整个List数组数据,而不是每个Bean去匹配。

1、为什么普通数组类型匹配不准?

原因分析:当字段是普通数组类型,其实在ES中,每个对象元素的属性值被扁平化存储在了数组中,已丢失了对应关系,因此无法保证搜索的准确。

{"app_id": "42533","word_one": [{"desc": "南京有好高中么","no": "0963","sid": 2002,"sign": false},{"desc": "雨花区面积多大","no": "05380","sid": 2003,"sign": false}]}

被扁平化存储到ES中,如下所示

 {"app_id"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025中国淄博化工展|淄博化工技术展|淄博化工装备展

CTEE2025第九届中国(淄博)化工技术装备展览会 时间:2025年5月16-18日 地点:山东淄博国际会展中心 主办单位:山东省机械工业科学技术协会 青岛蓝博国际会展有限公司 众所周知,山东省是我国化工大省。2023年上半年&am…

Go GMP:并发编程实践

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【工具】VS Code使用global插件实现代码跳转

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:善假于物&#…

粤港联动,北斗高质量国际化发展的重要机遇

今年是香港回归27周年,也是《粤港澳大湾区发展规划纲要》公布5周年,5年来各项政策、平台不断为粤港联动增添新动能。“十四五”时期的粤港澳大湾区,被国家赋予了更重大的使命,国家“十四五”《规划纲要》提出,以京津冀…

时序约束(二): input delay约束和output delay约束

一、input delay约束 在千兆以太网数据收发项目中,RGMII的数据输入方式为DDR,源同步输入方式,可以用之前提到的分析模型进行约束。 在时序约束原理中我们提到,input delay约束的就是发射沿lunch到数据有效的延时,根据…

Linux:网络基础1

文章目录 前言1. 协议1.1 为什么要有协议?1.2 什么是协议? 2. 网络2.1 网络通信的问题2.2 网络的解决方案——网络的层状结构2.3 网络和系统的关系2.4 网络传输基本流程2.5 简单理解IP地址2.6 跨网络传输 总结 前言 在早期的计算机发展中,一开…

【华为战报】5月、6月HCIP考试战报!

华为认证:HCIA-HCIP-HCIE 点击查看: 【华为战报】4月 HCIP考试战报! 【华为战报】2月、3月HCIP考试战报! 【华为战报】11月份HCIP考试战报! 【HCIE喜报】HCIE备考2个月丝滑通关,考试心得分享&#xff…

7.x86游戏实战-C++实现跨进程读写-跨进程写内存

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:6.x86游戏实战-C实现跨进程读写-通过基址读取人物状态标志位 上一个内容通过基…

深层神经网络

深层神经网络 深层神经网络 深度神经网络(Deep Neural Networks,DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机(Multi-Layer perceptron&#xff0c…

ghost恢复?电脑文件恢复如何操作?电脑数据恢复工具!5款!

在数字化时代,电脑数据的价值日益凸显。然而,数据丢失、误删、系统崩溃等问题时有发生,给个人和企业带来巨大损失。本文将为您详细介绍Ghost恢复方法,同时推荐五款高效的电脑数据恢复工具,助您轻松应对数据丢失的困扰。…

使用归档实用工具怎么打不开 mac上好用的解压软件 归档实用工具打不开怎么回事 mac 归档实用工具 苹果电脑好用的压缩软件有哪些

Mac系统自带的 “归档实用工具”,集成在系统右键菜单中,包含了文件压缩和压缩包解压功能。很多mac小伙伴会发现有些文件使用归档实用工具打不开。由于专利和软件开源问题,该工具目前仅支持ZIP格式的压缩和解压。同时,对于一些在Wi…

Microsoft SQL Server 2019安装和设置用户密码

1、免费下载两个安装包 SQL2019-SSEI-Dev 地址:https://www.microsoft.com/en-us/sql-server/sql-server-downloads SSMS-Setup-CHS 地址:https://aka.ms/ssmsfullsetup 安装具体不在阐述了,可以参考我这篇文章:SQL Server 2019安装详细教程 2、以W…

Cookie的默认存储路径以及后端如何设置

问题场景 最近在写一个前后端分离的项目,需要跨域,前端开发同学遇到一个问题一直报错,本质上就是后端返回的cookie中的sessionID在前端发送http请求时无法被请求自动携带,每次htttpRequest都被后端识别为一个新的session&#xf…

昇思25天学习打卡营第04天 | 数据集 Dataset

昇思25天学习打卡营第04天 | 数据集 Dataset 文章目录 昇思25天学习打卡营第04天 | 数据集 Dataset数据集加载数据集迭代数据集的变换shufflemapbatch 自定义数据集可随机访问数据集对象可迭代数据集生成器 总结打卡 数据集Dataset对原始数据进行封装、变换,为神经网…

【Rust入门教程】hello world程序

文章目录 前言Hello World程序运行总结 前言 对于学习任何一种新的编程语言,我们都会从编写一个简单的Hello World程序开始。这是一个传统,也是一个开始。在这篇文章中,我们将一起学习如何在Rust中编写你的第一个程序:Hello Worl…

【C语言内存函数】

目录 1.memcpy 使用 模拟实现 2.memmove 使用 模拟实现 3.memset 使用 4.memcmp 使用 1.memcpy 使用 void * memcpy ( void * destination, const void * source, size_t num );目的地址 源地址 字节数 destination:指向要复制内…

20240703 每日AI必读资讯

🤖爆火Character AI惨遭阉割 美国00后集体“失恋” - Character AI曾是00后最火爆的社交软件,但用户发现对话模型变得冷淡,失去趣味。 - 用户流失严重,面临成本高、竞争激烈的挑战,甚至遭到挖角。 - 尽管困难重重&a…

最小步数模型——AcWing 1107. 魔板

最小步数模型 定义 最小步数模型通常是指在某种约束条件下,寻找从初始状态到目标状态所需的最少操作或移动次数的问题。这类问题广泛存在于算法、图论、动态规划、组合优化等领域。具体来说,它涉及确定一个序列或路径,使得按照特定规则执行…

jenkins在使用pipeline时,为何没有方块形视图

项目场景: 安装完Jenkins时后,通过pipeline创建的项目任务。 问题描述 在立即构建后,没有显示每个阶段的视图。 原因分析: 原因是,刚安装的Jenkins,这个视图不是Jenkins自带的功能,而必须安装…

EDA 虚拟机 Synopsys Sentaurus TCAD 2017.09 下载

下载地址(制作不易,下载使用需付费,不能接受的请勿下载): 链接:https://pan.baidu.com/s/1327I58gvV1usWSqSrG7KXw?pwdo03i 提取码:o03i