项目地址:https://gitee.com/diannaodongshizhang/elastic-search
简单的范围查询
SearchUtil
public static SearchRequest buildSearchRequest(final String indexName,final String field,final Date date){
try{
final SearchSourceBuilder builder = new SearchSourceBuilder()
.postFilter(getQueryBuilder(field,date));
final SearchRequest request = new SearchRequest(indexName);
request.source(builder);
return request;
}catch (final Exception e){
e.printStackTrace();
return null;
}
}
/**
* 范围查询
* 输出在之后时间的车辆
* @param field
* @param date
* @return
*/
public static QueryBuilder getQueryBuilder(final String field,final Date date){
return QueryBuilders.rangeQuery(field).gte(date);
}
VehicleService
public List<Vehicle> getAllVehiclesCreatedSince(final Date date){
final SearchRequest request = SearchUtil.buildSearchRequest(
Indices.VEHICLE_INDEX,
"created",
date
);
return searchInternal(request);
}
@GetMapping("/search/{date}")
public List<Vehicle> getAllVehiclesCreatedSince(
@PathVariable
@DateTimeFormat(pattern = "yyyy-MM-dd")
final Date date){
return service.getAllVehiclesCreatedSince(date);
}
实验结果