五分钟带你玩转Elasticsearch(十九)企业实战——ElasticTemplate删除时间段内的数据
【摘要】
@ApiOperation(value = "清除详细日志接口", notes = "清除详细日志接口") @PostMapping("/clearDetailLog") public void clearDetailLog(@ApiParam(name = "清除详细日志接口输入参数实体", value = "清除详细日志...
-
@ApiOperation(value = "清除详细日志接口", notes = "清除详细日志接口")
-
@PostMapping("/clearDetailLog")
-
public void clearDetailLog(@ApiParam(name = "清除详细日志接口输入参数实体", value = "清除详细日志接口输入参数实体",
-
required = false) @RequestBody HandleDetailLogVO handleDetailLogVO) throws IOException, ParseException {
-
SimpleDateFormat sd = new SimpleDateFormat(DateFormatEnum.YYYY_MM_DD_HH_MM_SS.getFormat());
-
String beginTime = handleDetailLogVO.getBeginTime() + DateFormatEnum.BEGIN_HH_MM_SS.getFormat();
-
String endTime = handleDetailLogVO.getEndTime() + DateFormatEnum.END_HH_MM_SS.getFormat();
-
// 根据时间查询
-
NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
-
BoolQueryBuilder bool = QueryBuilders.boolQuery();
-
List<QueryBuilder> filters = bool.filter();
-
filters.add(QueryBuilders.rangeQuery("time").gte(sd.parse(beginTime)) .lte(sd.parse(endTime)));
-
builder.withQuery(bool);
-
NativeSearchQuery query = builder.build();
-
IndexCoordinates indexCoordinates = IndexCoordinates.of("datalog-*");
-
// 删除索引
-
elasticsearchTemplate.delete(query, DetailLogVO.class, indexCoordinates);
-
}
实体
-
public class HandleDetailLogVO {
-
-
/**
-
* 结束时间
-
*/
-
@ApiModelProperty(value = "结束时间", name = "结束时间")
-
private String endTime;
-
-
/**
-
* 开始时间
-
*/
-
@ApiModelProperty(value = "开始时间", name = "开始时间")
-
private String beginTime;
-
}
文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。
原文链接:baocl.blog.csdn.net/article/details/113386628
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)