onekey

专注.NET技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Elasticsearch -- 索引管理

Posted on 2019-03-15 16:13  onekey  阅读(895)  评论(0编辑  收藏  举报

1、#获取当前索引
 # curl -u elastic:changeme 'localhost:9200/_cat/indices?v' 

2、 #删除指定索引
    # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09
    {"acknowledged":true}


 3、#删除多个指定索引,中间用逗号隔开
    # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09,acc-apply-2018.08.10

4、#模糊匹配删除
    # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-*
    {"acknowledged":true}
 

5、#使用通配符,删除所有的索引
     curl -XDELETE http://localhost:9200/_all
     或 curl -XDELETE http://localhost:9200/*
    _all ,* 通配所有的索引
    通常不建议使用通配符,误删了后果就很严重了,所有的index都被删除了
    禁止通配符为了安全起见,可以在elasticsearch.yml配置文件中设置禁用_all和*通配符
    action.destructive_requires_name = true
    这样就不能使用_all和*了

 

6、如果存储不够可以设置定时删除,下面是保留3天的日志

   curl -XDELETE -u elastic:changeme http://localhost:9200/*-$(date -d '-3days' +'%Y.%m.%d') >/dev/null 2>&1

   定时删除

#!/bin/bash
time=$(date -d '-3days' +'%Y.%m.%d')
curl -XDELETE -u elastic:changeme http://localhost:9200/*-${time}