关于ES中数据存在某个字段却查询不到的问题修复记录

解决了一个关于Elasticsearch中字段可见性的问题。开发过程中,虽然数据已正确打上标签,但在查询时却发现该字段并不存在。通过检查索引映射发现字段缺失,并手动添加字段解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在2022年1月8号,开发一个功能时遇到的一个问题,解决了好长时间,花费了我一下午的时间才得以解决,今天闲暇之余整理总结一下这个坑,以供后人不要再踩类似的坑。

我所要开发的功能是告警分类的查询功能,具体业务描述如下,要从kafka中消费的数据进行对数据的处理,分析匹配这条数据是否满足某项条件,如果满足某项条件,那么打上对应的标签,在我的业务中标签的概念就是告警分类,打上对应的告警分类的标签后,再存入到数据库中。

开发完对应的功能后,进行测试发现,数据是正常,通过es的head插件中能够看到es数据已经打上对应的标签,如图所示

在这里插入图片描述
可是我在根据这个字段查询时却查不到这个字段,随后我再kibana中执行查询命令如图所示。

在这里插入图片描述
惊奇的发现竟然查询不到结果,该语句是用来查询索引中存在这个字段的所有数据,可是我却查不到结果,那么说明我的数据中根本不存在这个字段,那么就和我看到es中有这个字段的结果相违背,一时间不知道如何解决这个问题,后来我通过命令查询索引的相关结构

GET /bosong_events_info_alias/_mapping

结果发现在我的索引中根本不存在这个字段,当然查不到,焕然大悟,原来我的es索引结构中没有这个字段,就算数据有这个字段es也不认同数据中存在这个字段,更不可能通过查询命令来查询相关的数据了,需要在es中手动添加字段。

添加es字段的命令为(此处我就截图了,不会此条命令麻烦各位可以照着手打,可以加请印象)
在这里插入图片描述
添加字段后再次查询成功,问题得以解决,特为此写一篇博客加强自己的记忆,也希望各位小伙伴不要踩和我同样的坑,谢谢大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值