elasticsearch定时清理过期索引index

  • 一、定时函数
  • 二、获取过期时间
  • 三、获取esClient
  • 四、获取全部索引
  • 五、判定索引是否过期
  • 六、删除过期索引
  • 七、demo代码

一、定时函数

每次更新完配置文件后,先清除定时函数。然后设置,每过5s执行一次清理函数

        // 清除定时器clearInterval(this.timeObj);var config = this.getConfig();var keep_time = config.keep_time;var obj={keep_time:keep_time,type:"ops"}// 定时器定时每5s执行一次this.timeObj = setInterval(this.clean,5000, obj);

二、获取过期时间

keep_time:单位天,为设置的索引保存时间,定位到过期时间

        var date = new Date();var expiration = new Date(date);expiration.setDate(date.getDate() - keep_time);// 过期时间var expirationTime = expiration.getFullYear() + '/' + (expiration.getMonth() + 1) + '/' + expiration.getDate();

三、获取esClient

判定索引是否过期,并收集所有过期的索引。

const es=require("elasticsearch")
const esClient= new es.Client({host:'127.0.0.1:9200',log:'error'
})
module.exports=esClient

四、获取全部索引

获取所有索引

const getIndex = function getIndex(index) {return esClient.indices.get({ index: index })}

五、判定索引是否过期

判定索引是否过期,并收集所有过期的索引。

var indexs_delete = []for (var index in results) {// 索引时间2020.09.03var dateStr = index.substring(index.length - 10, index.length)// 索引时间 2020/09/03var dateStr = dateStr.replace(/[.]/g, "\/")// 过期时间判定是否过期if (dateStr < expirationTime) {indexs_delete.push(index)}}

六、删除过期索引

删除过期索引。

const indexDelete = function getIndex(index) {return esClient.indices.delete({ index: index })}

七、demo代码

vscode打开代码。在esClient打上断点,打开main.js,按f5运行
demo代码下载

elasticsearch定时删除过期索引index相关推荐

  1. ElasticSearch 定时删除指定天数的数据实践

    网上对于定时删除 ElasticSearch 索引数据有相当多的文章,有一些是借助 Curator 工具实现,有一些通过 ElasticSearch 的 delete_by_query 语句实现. 事 ...

  2. Linux定时删除过期日志文件

    1.问题 Linux服务器上有程序持续产生临时文件供其它程序使用,但这些文件只需保留一段时间,后续要经常进行删除过期文件,人工删除一是输出时间长,二是多个目录删除繁琐 2.解决方案 使用Linux自带 ...

  3. elasticsearch 怎么删除过期的数据

    使用elasticsearch收集日志进行处理,时间久了,很老的数据就没用了或者用途不是很大,这个时候就要对过期数据进行清理.但是es5.0之后就不支持ttl,那怎么办呢? 1,请使用官方的工具ela ...

  4. mysql general clomun_关于MySQL索引index杂谈

    MySQL建索引命令 create index index_name on tablename(clomun_name.....); 比如建了 CREATE INDEX  O_N_P_D  ON   ...

  5. Elasticsearch生命周期ILM若干时间后自动删除索引index

    Elasticsearch生命周期ILM若干时间后自动删除索引index (1)先手动在 数据 - 索引生命周期策略 里面 创建策略,假设这个策略名字叫 my-demo-test-policy.注意把 ...

  6. Elasticsearch 之删除索引

    1. #删除指定索引 # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09 {"ack ...

  7. elasticsearch批量删除索引

    查看索引 在elasticsearch节点上使用curl -XGET 'http://XX.XX.X.XX:9200/_cat/shards'查看索引 [root@192-168-x-x script ...

  8. es 按月建索引,定时删除3个月前索引

    1.建模板 #log_template为模板名称可更改 PUT /_template/log_template?pretty { #以log开头的索引都会使用此模板创建"template&q ...

  9. oracle定时器定时删除30天前的数据_Redis的过期键删除策略

    对于Redis服务器来说,内存资源非常宝贵,如果一些过期键一直不被删除,就会造成资源浪费, 因此我们需要考虑一个问题:如果一个键过期了,它什么时候会被删除呢? 1. 常见的删除策略 常见的删除策略有以 ...

最新文章

  1. linux文件描述符与标识符,文件描述符fd
  2. tcp协议timestamp字段导致问题分析
  3. 581. 最短无序连续子数组 golang
  4. java input函数怎么用_Java函数习惯用法详解
  5. 使用Varnish代替Squid做网站缓存加速器的详细解决方案
  6. 如何为报表服务器设置SQL Server数据库复制
  7. python etree xpath_【Python】爬虫之使用etree进行xpath元素定位
  8. Smarty3——foreach
  9. (day 34 - 哈希表 or 双指针 )剑指 Offer 57. 和为s的两个数字
  10. 幻灯片插入smartArt
  11. LaTeX插入参考文献,简单高效
  12. 蒙大拿大学计算机,2020年药学专业世界大学排名【USNEWS】
  13. [UE4][Material] Spline样条网格材质消失问题记录
  14. linux网卡配置没生效,linux上网络配置不生效的解决办法
  15. jshop测试分析总览
  16. NXP 公司的 RFID 卡
  17. 计算机网络6 应用层
  18. log4j的使用和log4j过时问题的解决
  19. 通过组策略实现windows远程协助msra.exe
  20. 《穷爸爸富爸爸》读记

热门文章

  1. 链游公会打金热背后:多由矿工转型,存在多重风险 |链捕手
  2. 职场生涯规划中必须学会的十种能力
  3. 数据库|ALTER命令
  4. Android通过广播接收器BroadcastReceiver监听蓝牙连接变化
  5. 【BZOJ3470】Freda’s Walk
  6. 上升了百分之几怎么算_求增加百分之几的应用题
  7. 华为Mate20系列赢得各界盛誉,棋圣聂卫平也对其AI性能称赞
  8. 暴力+格式转化+板子真题 蓝桥
  9. 分布式一致性协议Raft,以及难搞的Paxos
  10. xshell免费版 正版,非xshell破解版