五分钟带你玩转Elasticsearch(十九)企业实战——ElasticTemplate删除时间段内的数据

举报
小鲍侃java 发表于 2021/09/10 01:24:19 2021/09/10
【摘要】 @ApiOperation(value = "清除详细日志接口", notes = "清除详细日志接口") @PostMapping("/clearDetailLog") public void clearDetailLog(@ApiParam(name = "清除详细日志接口输入参数实体", value = "清除详细日志...

  
  1. @ApiOperation(value = "清除详细日志接口", notes = "清除详细日志接口")
  2. @PostMapping("/clearDetailLog")
  3. public void clearDetailLog(@ApiParam(name = "清除详细日志接口输入参数实体", value = "清除详细日志接口输入参数实体",
  4. required = false) @RequestBody HandleDetailLogVO handleDetailLogVO) throws IOException, ParseException {
  5. SimpleDateFormat sd = new SimpleDateFormat(DateFormatEnum.YYYY_MM_DD_HH_MM_SS.getFormat());
  6. String beginTime = handleDetailLogVO.getBeginTime() + DateFormatEnum.BEGIN_HH_MM_SS.getFormat();
  7. String endTime = handleDetailLogVO.getEndTime() + DateFormatEnum.END_HH_MM_SS.getFormat();
  8. // 根据时间查询
  9. NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
  10. BoolQueryBuilder bool = QueryBuilders.boolQuery();
  11. List<QueryBuilder> filters = bool.filter();
  12. filters.add(QueryBuilders.rangeQuery("time").gte(sd.parse(beginTime)) .lte(sd.parse(endTime)));
  13. builder.withQuery(bool);
  14. NativeSearchQuery query = builder.build();
  15. IndexCoordinates indexCoordinates = IndexCoordinates.of("datalog-*");
  16. // 删除索引
  17. elasticsearchTemplate.delete(query, DetailLogVO.class, indexCoordinates);
  18. }

实体


  
  1. public class HandleDetailLogVO {
  2. /**
  3. * 结束时间
  4. */
  5. @ApiModelProperty(value = "结束时间", name = "结束时间")
  6. private String endTime;
  7. /**
  8. * 开始时间
  9. */
  10. @ApiModelProperty(value = "开始时间", name = "开始时间")
  11. private String beginTime;
  12. }

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/113386628

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。