首先添加bboss依赖
com.bbossgroups.plugins bboss-elasticsearch-rest-jdbc5.9.9 slf4j-log4j12 org.slf4j com.bbossgroups.plugins bboss-elasticsearch-spring-boot-starter5.9.9 slf4j-log4j12 org.slf4j
创建一个xml文件,写入dsl语句,注意语句要包在中
xml文件放在 resources>esmapper包下
Service中创建一个接口:
R wildcard(Mapparam);
serviceImpl中实现接口:
@Override
public R wildcard(Map param) {
String value="*"+param.get("value")+"*";
param.put("value",value);
param.put("start",(Integer.parseInt(param.get("page").toString())-1)*Integer.parseInt(param.get("limit").toString()));
Query query=new Query(param);
ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("esmapper/show.xml");
ESDatas esDatas = //ESDatas包含当前检索的记录集合,最多1000条记录,由dsl中的size属性指定
clientUtil.searchList("company/_doc/_search",//demo为索引表,_search为检索操作action
"selectWildcard",//esmapper/demo.xml中定义的dsl语句
param,//变量参数
ShowEntity.class);
PageUtils page=new PageUtils(esDatas.getDatas(),new Long(esDatas.getTotalSize()).intValue(), query.getLimit(), query.getPage());
return R.ok().put("page", page);
}
Controller:
@RequestMapping("/list")
public R entity(@RequestParam(required = false) Map param) {
try {
val value = param.get("value");
if(value !="") {
return showInfoService.wildcard(param);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return R.error("系统异常,请联系管理员");
}
}
postman测试结果:
使用bboss的前提是已经使用spring集成了Elasticsearch



