elasticsearch定时删除过期索引index
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相关推荐
- ElasticSearch 定时删除指定天数的数据实践
网上对于定时删除 ElasticSearch 索引数据有相当多的文章,有一些是借助 Curator 工具实现,有一些通过 ElasticSearch 的 delete_by_query 语句实现. 事 ...
- Linux定时删除过期日志文件
1.问题 Linux服务器上有程序持续产生临时文件供其它程序使用,但这些文件只需保留一段时间,后续要经常进行删除过期文件,人工删除一是输出时间长,二是多个目录删除繁琐 2.解决方案 使用Linux自带 ...
- elasticsearch 怎么删除过期的数据
使用elasticsearch收集日志进行处理,时间久了,很老的数据就没用了或者用途不是很大,这个时候就要对过期数据进行清理.但是es5.0之后就不支持ttl,那怎么办呢? 1,请使用官方的工具ela ...
- mysql general clomun_关于MySQL索引index杂谈
MySQL建索引命令 create index index_name on tablename(clomun_name.....); 比如建了 CREATE INDEX O_N_P_D ON ...
- Elasticsearch生命周期ILM若干时间后自动删除索引index
Elasticsearch生命周期ILM若干时间后自动删除索引index (1)先手动在 数据 - 索引生命周期策略 里面 创建策略,假设这个策略名字叫 my-demo-test-policy.注意把 ...
- Elasticsearch 之删除索引
1. #删除指定索引 # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09 {"ack ...
- elasticsearch批量删除索引
查看索引 在elasticsearch节点上使用curl -XGET 'http://XX.XX.X.XX:9200/_cat/shards'查看索引 [root@192-168-x-x script ...
- es 按月建索引,定时删除3个月前索引
1.建模板 #log_template为模板名称可更改 PUT /_template/log_template?pretty { #以log开头的索引都会使用此模板创建"template&q ...
- oracle定时器定时删除30天前的数据_Redis的过期键删除策略
对于Redis服务器来说,内存资源非常宝贵,如果一些过期键一直不被删除,就会造成资源浪费, 因此我们需要考虑一个问题:如果一个键过期了,它什么时候会被删除呢? 1. 常见的删除策略 常见的删除策略有以 ...
最新文章
- linux文件描述符与标识符,文件描述符fd
- tcp协议timestamp字段导致问题分析
- 581. 最短无序连续子数组 golang
- java input函数怎么用_Java函数习惯用法详解
- 使用Varnish代替Squid做网站缓存加速器的详细解决方案
- 如何为报表服务器设置SQL Server数据库复制
- python etree xpath_【Python】爬虫之使用etree进行xpath元素定位
- Smarty3——foreach
- (day 34 - 哈希表 or 双指针 )剑指 Offer 57. 和为s的两个数字
- 幻灯片插入smartArt
- LaTeX插入参考文献,简单高效
- 蒙大拿大学计算机,2020年药学专业世界大学排名【USNEWS】
- [UE4][Material] Spline样条网格材质消失问题记录
- linux网卡配置没生效,linux上网络配置不生效的解决办法
- jshop测试分析总览
- NXP 公司的 RFID 卡
- 计算机网络6 应用层
- log4j的使用和log4j过时问题的解决
- 通过组策略实现windows远程协助msra.exe
- 《穷爸爸富爸爸》读记