ES按日期存储数据思路

es通常被用来存放各种日志数据,然后做统计。
对于请求量大的系统来说,日志数据无比庞大,需要按日期来划分索引,便于做冷热数据的迁移管理。

假设,日志数据按每日来分索引存储,索引名字格式:
log-action-2022-09-13
查询时,使用别名log-action

代码语言:go

  1. 程序启动时,初始化索引,自动创建今天和明天的索引
func createIfNotExist(day time.Time) {
   indexName := day.Format("log-action-2006-01-02")
   .....
}

  1. 启动定时脚本,每24小时执行一次,检查并创建下一天的索引
import (
    "github.com/robfig/cron"
)

...
c := cron.New()
c.AddFunc("* * */24 * * *", func() {  es.InitIndex() })
c.Run()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容