@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;
}