kibana之index字段类型更新

本文介绍了解决Kibana中字段类型未能实时更新的问题。通过更改Elasticsearch中的字段类型后,在Kibana中显示的类型未同步更新。文章解释了Kibana如何存储字段类型,并提供了解决方案。

在es里新建了index名为logstash-log,kibana配置好的Index Patterns 为logstash-*,然后在es中索引数据,后来又将geoip的location字段改为geo_point类型(之前为string类型),在选择Tile map图形时,总是报没有geo_point类型,非常奇怪,明明类型改了,却是不起作用。

然后在kibana 的Settings里发现geoip.location类型还是之前的类型,没有更新为geo_point类型。原来kibana会在es里新建一个索引.kibana(可在kibana.yml文件中修改参数kibana_index的值),每新增一个Index Patterns就会在.kibana里存一条数据,kibana每次默认从.kibana里获取字段的类型。

这里写图片描述

点击刷新按钮,字段的类型才会更新。每次默认都是取.kibana里存的类型
这里写图片描述

### 删除字段的方法 在 Kibana 中,删除索引模式中的字段并不是直接通过界面操作完成的。这是因为字段映射存储于 Elasticsearch 的索引模板内,而这些设置一旦创建便不可更改或移除单个字段定义[^1]。 为了实现字段的有效“删除”,可以采取如下策略: #### 方法一:重新创建索引并导入数据 如果希望彻底去除某些不再需要的字段,最可靠的方式是重建整个索引结构,并仅包含所需的字段。具体步骤包括停止写入新文档到旧索引、创建新的索引配置(不加入不需要的字段)、迁移现有数据至新索引以及更新应用程序指向新索引位置[^2]。 ```bash POST _reindex { "source": { "index": "old-index" }, "dest": { "index": "new-index-without-unwanted-fields" } } ``` #### 方法二:隐藏字段而不实际删除它们 对于只想暂时忽略特定字段的情况,在 Kibana 的 Discover 或 Visualization 页面可以通过编辑当前使用的索引模式来选择哪些字段应该被显示出来。虽然这不是真正意义上的删除,但在大多数情况下已经足够满足需求[^3]。 进入管理页面 -> 索引模式 -> 编辑所选模式 -> 取消勾选不想看到的字段前的选择框即可将其设为不可见状态。 请注意,以上两种方法都不能改变已存在于Elasticsearch集群内的原始数据;要永久清除某字段的数据,则需执行更复杂的流程,比如利用 Ingest Node Pipeline 进行预处理过滤等高级功能[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值