五分钟带你玩转Elasticsearch(十三)ElasticsearchTemplate查询语句全详解

举报
小鲍侃java 发表于 2021/09/10 00:19:30 2021/09/10
【摘要】 // 返回对象 Result<List<ActionLogVO>> result = new Result(); NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder(); Bo...


  
  1. // 返回对象
  2. Result<List<ActionLogVO>> result = new Result();
  3. NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
  4. BoolQueryBuilder bool = QueryBuilders.boolQuery();
  5. //must为and的语法
  6. //matchPhraseQuery为将type分词 然后将第二个参数匹配 可以模糊查询使用
  7. bool.must(QueryBuilders.matchPhraseQuery("Type", "日志"));
  8. //wildcardQuery模糊查询使用 但是字段需要未英文
  9. bool.must(QueryBuilders.wildcardQuery("userName", "*admin*"));
  10. //通过时间筛选
  11. List<QueryBuilder> filters = bool.filter();
  12. filters.add(QueryBuilders.rangeQuery("time").gte(sd.parse("2021-01-19 17:28:41"))
  13. .lte(sd.parse("2021-01-19 17:28:43")));
  14. //分页(第一个参数PageNum从第0页开始 第二个参数pageSize)
  15. builder.withPageable(PageRequest.of(1, 10));
  16. //排序
  17. builder.withSort(SortBuilders.fieldSort("time").order(SortOrder.ASC));
  18. // 构造查询条件
  19. builder.withQuery(bool);
  20. NativeSearchQuery query = builder.build();
  21. Iterable<XXXVO> resultIter = XXXXService.search(query);

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/112857250

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。