当前位置: 首页 > news >正文

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

一、定义ES索引

@NoArgsConstructor
@AllArgsConstructor
@Data
@Accessors(chain = true)
@Document(indexName = "charge_pile_log" + Constants.ES_TIME_DYNAMIC_INDEX) //(索引名称动态,前面固定,后面月份)
public class ChargePileLogESDomain {@Idprivate 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

import com.energy.cloud.log.service.domain.ChargePileLogESDomain;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;public interface ChargePileLogRepository extends ElasticsearchRepository<ChargePileLogESDomain, String> {
}

三、存储数据

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

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

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

五、常量类和工具类

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-mmDateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM");//获取拾取为UTC的时间DateTime now = DateTime.now(DateTimeZone.UTC);return fmt.print(now);}
}
http://www.lryc.cn/news/502983.html

相关文章:

  • NLP论文速读(ICML 2024)|面相对齐大语言模型的迁移和合并奖励模型方法
  • 蓝桥杯我来了
  • Vue3+TypeScript+AntVX6实现Web组态(从技术层面与实现层面进行分析)内含实际案例教学
  • 【LeetCode】每日一题 2024_12_13 K 次乘运算后的最终数组 I(暴力)
  • Plant simulation、Flexsim、Automod、Emulate3D、VisuaComponent仿真软件对比
  • 深度学习day4|用pytorch实现猴痘病识别
  • 批量导出工作簿中高清图片-Excel易用宝
  • 外观模式的理解和实践
  • linux离线安装部署redis
  • 网管平台(基础篇):路由器的介绍与管理
  • 数据结构——跳表
  • 活动预告 |【Part2】Microsoft Azure 在线技术公开课:基础知识
  • PyCharm如何导入库( 包 )
  • 【DevOps基础篇】SCM(Source Code Management)
  • DDS—RTPS一致性测试案例分析
  • 【深度学习入门】深度学习介绍
  • 数值分析—非线性方程的数值解
  • LDR6500应用:C转DP线材双向投屏开启全新体验
  • 路径规划之启发式算法之十六:和声搜索算法(Harmony Search, HS)
  • Redis - 实战之 全局 ID 生成器 RedisIdWorker
  • matlab 连接远程服务器
  • 在服务器自主选择GPU使用
  • 【设计模式】享元模式(Flyweight Pattern)
  • 题目 1688: 数据结构-字符串插入
  • 28.攻防世界PHP2
  • QML QT6 WebEngineView 、Echarts使用和数据交互
  • SpringBoot 整合 Mail 轻松实现邮件自动推送
  • MyBatis 核心知识与实践
  • 机器学习期末速成
  • Linux中的线程