ES动态索引——日志es索引数据按月份存储

一、定义ES索引

java 复制代码
@NoArgsConstructor
@AllArgsConstructor
@Data
@Accessors(chain = true)
@Document(indexName = "charge_pile_log" + Constants.ES_TIME_DYNAMIC_INDEX) //(索引名称动态,前面固定,后面月份)
public class ChargePileLogESDomain {

    @Id
    private String id;

    @Field(type = FieldType.Integer)
    private Integer businessType;
}

public static final String ES_TIME_DYNAMIC_INDEX = "-#{ T(com.energy.cloud.log.service.util.DateUtil).getUTCMonth() }";

二、定义Repository

java 复制代码
import com.energy.cloud.log.service.domain.ChargePileLogESDomain;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

public interface ChargePileLogRepository extends ElasticsearchRepository<ChargePileLogESDomain, String> {
}

三、存储数据

java 复制代码
 @Resource
 private ChargePileLogRepository chargePileLogRepository;

List<ChargePileLogESDomain> saveList = new ArrayList<>();
chargePileLogRepository.saveAll(saveList);

四、查询数据(索引名称带通配符)

java 复制代码
SearchRequest request = new SearchRequest(charge_pile_log*);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
request.source(searchSourceBuilder);
SearchResponse searchResponse = restHighLevelClient.search(request, RequestOptions.DEFAULT);

五、常量类和工具类

java 复制代码
 public static final String ES_TIME_DYNAMIC_INDEX = "-#{ T(com.energy.cloud.log.service.util.DateUtil).getUTCMonth() }";


public class DateUtil {
   public static String getUTCMonth(){
        //设置日期格式为yyyy-mm
        DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM");
        //获取拾取为UTC的时间
        DateTime now = DateTime.now(DateTimeZone.UTC);
        return fmt.print(now);
    }
}
相关推荐
计算机编程指导师2 小时前
【计算机毕设】基于Hadoop+Spark的美国互联网银行贷款数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·贷款
data analyse 4563 小时前
服务端访问日志聚合 PV 与 UV 怎么实现?日志采集与口径设计
大数据·前端·数据分析
ZZ202601153 小时前
维普露禾平台免费开放,聊聊教育垂直大模型的RAG实现思路
大数据·人工智能·系统架构·知识图谱
小猴子爱上树3 小时前
跨境电商AI图片翻译工具:批量图片翻译、视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频
七十二时9563 小时前
2026 企业级 AI 办公平台选型指南:如何判断哪些 AI 满足企业办公需求
大数据·人工智能
pengdott3 小时前
Rocky linux9安装Jenkins最新版本2.585
运维·jenkins·流水线
康实训3 小时前
CGA老年综合评估是什么?评估体系、核心维度与行业应用标准解析
大数据·人工智能·实训室·实训室建设
SelectDB4 小时前
Doris VARIANT 速查:类型映射、建表写法、索引配置与常见注意点
大数据·数据库·数据分析
计算机编程指导师4 小时前
计算机毕设选题推荐:基于Spark+Django的黄金价格历史数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·python·计算机·spark·django·课程设计·黄金价格
weixin_460443564 小时前
在线考试人脸识别如何合规?本地活体检测、人脸模板加密与替代认证的技术架构设计
大数据·数据库·煤矿培训考试系统·煤矿在线考试系统·煤矿安全培训·煤矿考试系统