当前位置: 首页 > news >正文

阿里云域名注册查询关键词搜索优化公司

阿里云域名注册查询,关键词搜索优化公司,钦州建站哪家好,十堰网站建设联系电话文章目录 一#xff0c;使用Elasticsearch的Java RESTHighLevel Client完成复杂的查询请求1. 创建检索请求 (SearchRequest)2. 构造检索条件 (SearchSourceBuilder)3. 执行检索 (SearchResponse)4. 处理解析结果5. 获取聚合信息 二#xff0c;AI时代的效率提升 一#xff0c… 文章目录 一使用Elasticsearch的Java RESTHighLevel Client完成复杂的查询请求1. 创建检索请求 (SearchRequest)2. 构造检索条件 (SearchSourceBuilder)3. 执行检索 (SearchResponse)4. 处理解析结果5. 获取聚合信息 二AI时代的效率提升 一使用Elasticsearch的Java RESTHighLevel Client完成复杂的查询请求 前面es进阶学习中我们学习过复杂的DSL查询。 POST bank/_search {query: {match: {address: {query: Mill}}},aggregations: {ageAgg: {terms: {field: age,size: 10}},ageAvg: {avg: {field: age}},balanceAvg: {avg: {field: balance}}} } 如何使用Java客户端执行复杂的查询呢 使用Elasticsearch的Java REST High-Level Client执行一个复杂的带有聚合的搜索请求。 1. 创建检索请求 (SearchRequest) 创建 SearchRequest 对象: SearchRequest searchRequest new SearchRequest(); 指定索引: searchRequest.indices(bank); 2. 构造检索条件 (SearchSourceBuilder) 创建 SearchSourceBuilder 对象: SearchSourceBuilder sourceBuilder new SearchSourceBuilder(); 设置查询条件: sourceBuilder.query(QueryBuilders.matchQuery(address, Mill)); 添加聚合: 按年龄分组的聚合: TermsAggregationBuilder ageAgg AggregationBuilders.terms(ageAgg).field(age).size(10);sourceBuilder.aggregation(ageAgg); 计算平均年龄: AvgAggregationBuilder ageAvg AggregationBuilders.avg(ageAvg).field(age);sourceBuilder.aggregation(ageAvg); 计算平均薪资: AvgAggregationBuilder balanceAvg AggregationBuilders.avg(balanceAvg).field(balance);sourceBuilder.aggregation(balanceAvg); 打印检索条件: System.out.println(检索条件 sourceBuilder); 将检索条件添加到 SearchRequest 中: searchRequest.source(sourceBuilder); 3. 执行检索 (SearchResponse) 执行搜索请求: SearchResponse searchResponse client.search(searchRequest, RequestOptions.DEFAULT); 打印检索结果: System.out.println(检索结果 searchResponse); 4. 处理解析结果 获取搜索命中的文档: SearchHits hits searchResponse.getHits();SearchHit[] searchHits hits.getHits(); 遍历并处理每个文档: for (SearchHit searchHit : searchHits) {String sourceAsString searchHit.getSourceAsString();Account account JSON.parseObject(sourceAsString, Account.class);System.out.println(account); }5. 获取聚合信息 获取聚合结果: Aggregations aggregations searchResponse.getAggregations(); 处理年龄分布的聚合: Terms ageAgg1 aggregations.get(ageAgg); for (Terms.Bucket bucket : ageAgg1.getBuckets()) {String keyAsString bucket.getKeyAsString();System.out.println(年龄 keyAsString bucket.getDocCount()); }处理平均年龄的聚合: Avg ageAvg1 aggregations.get(ageAvg); System.out.println(平均年龄 ageAvg1.getValue());处理平均薪资的聚合: Avg balanceAvg1 aggregations.get(balanceAvg); System.out.println(平均薪资 balanceAvg1.getValue());完整代码如下 /*** 复杂检索*/Testpublic void searchData() throws IOException {//1. 创建检索请求SearchRequest searchRequest new SearchRequest();//1.1指定索引searchRequest.indices(bank);//1.2构造检索条件SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(QueryBuilders.matchQuery(address, Mill));//1.2.1)按照年龄分布进行聚合TermsAggregationBuilder ageAgg AggregationBuilders.terms(ageAgg).field(age).size(10);sourceBuilder.aggregation(ageAgg);//1.2.2)计算平均年龄AvgAggregationBuilder ageAvg AggregationBuilders.avg(ageAvg).field(age);sourceBuilder.aggregation(ageAvg);//1.2.3)计算平均薪资AvgAggregationBuilder balanceAvg AggregationBuilders.avg(balanceAvg).field(balance);sourceBuilder.aggregation(balanceAvg);System.out.println(检索条件 sourceBuilder);searchRequest.source(sourceBuilder);//2. 执行检索SearchResponse searchResponse client.search(searchRequest, RequestOptions.DEFAULT);System.out.println(检索结果 searchResponse);//3. 将检索结果封装为BeanSearchHits hits searchResponse.getHits();SearchHit[] searchHits hits.getHits();for (SearchHit searchHit : searchHits) {String sourceAsString searchHit.getSourceAsString();Account account JSON.parseObject(sourceAsString, Account.class);System.out.println(account);}//4. 获取聚合信息Aggregations aggregations searchResponse.getAggregations();Terms ageAgg1 aggregations.get(ageAgg);for (Terms.Bucket bucket : ageAgg1.getBuckets()) {String keyAsString bucket.getKeyAsString();System.out.println(年龄 keyAsString bucket.getDocCount());}Avg ageAvg1 aggregations.get(ageAvg);System.out.println(平均年龄 ageAvg1.getValue());Avg balanceAvg1 aggregations.get(balanceAvg);System.out.println(平均薪资 balanceAvg1.getValue());} 二AI时代的效率提升 相对于DSL使用Java客户端来完成复杂的请求代码是比较复杂不好理解的。 DSL相对清晰、容易理解。 所以我们可以先根据需求写好DSL然后用大模型工具比如通义千问、Kimi、ChatGPT等将DSL转换为Java代码这样我们就无需逐行编写复杂难懂的Java代码了只需要在测试过程中进行微调即可。
http://www.w-s-a.com/news/966541/

相关文章:

  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据
  • 自已如何做网站建设通网站会员共享密码