elasticsearch删除索引

elk日志量偏大,需要删除一部分 ,直接通过shell脚本实现:

#!/bin/bash

###################################
#删除早于十天的ES集群的索引
###################################
function delete_indices() {
    comp_date=`date -d "10 day ago" +"%Y-%m-%d"`
    date1="$1 00:00:00"
    date2="$comp_date 00:00:00"

    t1=`date -d "$date1" +%s`
    t2=`date -d "$date2" +%s`

    if [ $t1 -le $t2 ]; then
        echo "$1时间早于$comp_date,进行索引删除"
        #转换一下格式,将类似2017-10-01格式转化为2017.10.01
        format_date=`echo $1| sed 's/-/\./g'`
        curl -XDELETE http://172.x.x.x:9200/*$format_date
    fi
}

curl -XGET http://172.x.x.x:9200/_cat/indices | awk -F" " '{print $3}' | awk -F"-" '{print $NF}' | egrep "[0-9]*\.[0-9]*\.[0-9]*" | sort | uniq  | sed 's/\./-/g' | while read LINE
do
    #调用索引删除函数
    delete_indices $LINE
done

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Elasticsearch删除索引中的数据,可以使用delete_by_query方法。下面是使用Elasticsearch-Py库进行删除的示例代码: 引用\[1\]: ```python from elasticsearch import Elasticsearch # 创建Elasticsearch连接 es = Elasticsearch(\[{'host': 'localhost', 'port': 9200}\]) # 构造删除请求 delete_query = { "query": { "range": { "timestamp": { "lt": two_months_ago.strftime("%Y-%m-%dT%H:%M:%S") # 格式化日期为Elasticsearch支持的格式 } } } } # 发送删除请求 es.delete_by_query(index='your_index_name', body=delete_query) ``` 如果要一次性删除多个索引中的数据,可以使用索引别名来指定要删除索引。下面是示例代码: 引用\[2\]: ```python from elasticsearch import Elasticsearch # 创建Elasticsearch连接 es = Elasticsearch(\[{'host': 'localhost', 'port': 9200}\]) # 定义要删除数据的索引别名 index_alias = "your_index_alias" # 构造删除请求 delete_query = { "query": { "range": { "timestamp": { "lt": "now-2M" # 删除两个月以前的数据 } } } } # 发送删除请求,并指定索引别名 es.delete_by_query(index=index_alias, body=delete_query) ``` 需要注意的是,使用Elasticsearch的delete_by_query方法删除索引中的数据并不属于逻辑删除,它实际上是执行了一次查询操作,然后在查询结果的基础上执行删除操作,将满足查询条件的文档从索引中物理删除。\[3\] #### 引用[.reference_title] - *1* *2* *3* [ElasticSearch删除索引中的数据(delete_by_query)](https://blog.csdn.net/weixin_44799217/article/details/130192119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值