es通常被用来存放各种日志数据,然后做统计。
对于请求量大的系统来说,日志数据无比庞大,需要按日期来划分索引,便于做冷热数据的迁移管理。
假设,日志数据按每日来分索引存储,索引名字格式:
log-action-2022-09-13
查询时,使用别名log-action
代码语言:go
- 程序启动时,初始化索引,自动创建今天和明天的索引
func createIfNotExist(day time.Time) {
indexName := day.Format("log-action-2006-01-02")
.....
}
- 启动定时脚本,每24小时执行一次,检查并创建下一天的索引
import (
"github.com/robfig/cron"
)
...
c := cron.New()
c.AddFunc("* * */24 * * *", func() { es.InitIndex() })
c.Run()