刚开始使用spring data elasticsearch 会有有一个疑问就是:能不能像操作mysql那样打印sql日志,也便于分析啊,其实特别简单,具体如下的代码所示:
/**
* 高亮显示
* @param keyword
* @param pageNum
* @param pageSize
* @return
*/
@GetMapping("/getUserList2")
public Page<User> query3( String keyword, Integer pageNum, Integer pageSize) {
if(pageNum == null || pageNum <= 0){
pageNum = 1;
}
if(pageSize == null || pageSize <= 0){
pageSize = 5;
}
//获取QueryBuilder
BoolQueryBuilder querryBuilder = this.getQuerryBuilder(keyword,"三1006");
NativeSearchQueryBuilder nativeSearchQueryBuilder = this.getWildcardQuery(keyword, "myes", "myuser");
//关联分页、过滤器
nativeSearchQueryBuilder
.withIndices("myes")
.withTypes("myuser")
//添加bool过滤器
.withFilter(querryBuilder)
.withSort(SortBuilders.fieldSort("age").order(SortOrder.DESC))
//添加分页条件
.withPageable(PageRequest.of(pageNum - 1, pageSize));
//查询结果
NativeSearchQuery searchQuery = nativeSearchQueryBuilder.build();
//打印filter 的dsl语句
log.info(searchQuery.getFilter().toString());
System.out.println("=================");
//log.info(searchQuery.get);
//打印query的 的dsl语句
System.out.println(nativeSearchQueryBuilder.build().getQuery().toString());
AggregatedPage<User> esEntityList = estemplate.queryForPage(nativeSearchQueryBuilder.build(), User.class);
return esEntityList;
}
完整代码地址: https://github.com/Dr-Water/springdata-es-action
本文介绍如何在SpringDataElasticsearch中实现类似于MySQL的SQL日志打印功能,通过具体代码示例展示了如何配置和使用日志打印,以便于分析和调试。
语句&spm=1001.2101.3001.5002&articleId=104592678&d=1&t=3&u=51c5e960ddaa487081e00139a8370b88)
3482

被折叠的 条评论
为什么被折叠?



