ElasticSearch集成SpringBoot实践

打印 上一主题 下一主题

主题 889|帖子 889|积分 2667

Search APISearch Request,用于搜索文档,聚合,相关的任何操作,还提供了高亮显示结果文档的方法
  1. //创建,如果没有参数,会对所有索引运行
  2. SearchRequest searchRequest = new SearchRequest();
  3. //大多数搜索参数都能添加到SearchSourceBuilder,为进入搜索请求主体内容提供setter
  4. SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
  5. //添加match_all查询到SearchSourceBuilder
  6. searchSourceBuilder.query(QueryBuilders.matchAllQuery());
  7. //将SearchSourceBuilder添加到SeachRequest
  8. searchRequest.source(searchSourceBuilder);
复制代码
使用SearchSourceBuilder,大多数控制搜索行为的选项都可以在SearchSourceBuilder上设置
  1. SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
  2. sourceBuilder.query(QueryBuilders.termQuery("user", "kimchy"));
  3. sourceBuilder.from(0);
  4. sourceBuilder.size(5);
  5. //设置超时时间控制允许搜索花费多长时间
  6. sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
复制代码
构建查询,搜索查询是使用QueryBuilder对象创建的,ES的查询DSL支持的每一种搜索查询类型都有一个QueryBuilder
  1. //创建一个全文匹配查询,在字段user上匹配文本kimchy
  2. MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("user", "kimchy");
  3. //创建后,用QueryBuilder对象提供的放啊来配置它创建的搜索查询选项
  4. //启用模糊查询
  5. matchQueryBuilder.fuzziness(Fuzziness.AUTO);
  6. //设置前缀长度选项
  7. matchQueryBuilder.prefixLength(3);
  8. //最大扩展
  9. matchQueryBuilder.maxExpansions(10);
复制代码
QueryBuilder可使用QueryBuilder实用程序类创建对象无论什么方法创建它,QueryBuilder对象都必须添加到SearchSourceBuildersearchSourceBuilder.query(matchQueryBuilder);  ES查询在java中的实现
 
ES java api相关体系
 





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表