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

如何做织梦论坛类的网站温州网站制作软件

如何做织梦论坛类的网站,温州网站制作软件,免费手机图片编辑器,苏州网络网站建设SpringBoot与ES7实现多条件搜索 利用Kibana内置的航班数据&#xff0c;查询从威尼斯到中国按票价升序排列的前10条航班数据。 第一步&#xff0c;新建SpringBoot功能&#xff0c;pom.xml引入四个依赖。 <dependency><groupId>org.elasticsearch.client</groupI…

SpringBoot与ES7实现多条件搜索
利用Kibana内置的航班数据,查询从威尼斯到中国按票价升序排列的前10条航班数据。
第一步,新建SpringBoot功能,pom.xml引入四个依赖。

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch‐rest‐high‐level‐client</artifactId><version>7.9.3</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch‐rest‐client</artifactId><version>7.9.3</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.9.3</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.6</version>
</dependency>

elasticsearch-rest-high-level-client是Elastic官方提供的高级REST客户端,它对ES的RESTful API进行封装,使用最简化的方式处理Java与ES之间的交互。相较SpringBoot提供的spring-boot-starter-data-elasticsearch,elasticsearch-rest-high-level-client提供了更灵活的使用方法以及与官方同步更新的支持。

第二步,开发ES应用程序,实现业务逻辑。

@SpringBootTest
public class FlightIndexQueryTestor {@Testpublic void query() {//声明RestHighLevelClient对象RestHighLevelClient client = null;try {//********************Part1 构建客户端,创建请求 ********************//实例化RestHighLevelClient对象,传入IP端口client = new RestHighLevelClient(RestClient.builder(new HttpHost("192.1 68.31.105", 9200)));//构建查询请求,指定索引为kibana_sample_data_flightsSearchRequest request = neSearchRequest("kibana_sample_data_flights");//********************Part2 组织查询条件,设置排序、分页等选项 ******************//构建BoolQueryBuilder即布尔查询,组织多条件检索BoolQueryBuilder booleanQueryBuilder = QueryBuilders.boolQuery();//设置起始城市为威尼斯booleanQueryBuilder.must(QueryBuilders.termQuery("OriginCityName", "Veice"));//设置终点站为中国,两个条件必须同时成立,因此使用must22booleanQueryBuilder.must(QueryBuilders.termQuery("DestCountry", "CN"));//利用SearchSourceBuilder构建附加选项,如排序、分页、汇总等SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();//将Boolean查询代入searchSourceBuildersearchSourceBuilder.query(booleanQueryBuilder);//分页选项,起始0行searchSourceBuilder.from(0);//截取前10行searchSourceBuilder.size(10);//开启命中统计(不分页时总行数),这一项设置为true,否则默认ES的记录总数上限为10000searchSourceBuilder.trackTotalHits(true);//按平均票价升序排列searchSourceBuilder.sort("AvgTicketPrice", SortOrder.ASC);//设置当前查询请求的筛选、分页、排序条件request.source(searchSourceBuilder);//********************Part3 执行查询,封装离线集合 ********************//执行查询,得到查询响应对象SearchResponse response = client.search(requestRequestOptions.DEFAULT);//得到查询命中的文档集合SearchHit[] hits = response.getHits().getHits();//离线集合List<Map<String, Object>> list = new ArrayList();//序列化工具类Gson gson = new Gson();//遍历结果for (SearchHit hit : hits) {//得到每一份文档的JSON数据String json = hit.getSourceAsString();//利用Gson的TypeToken类将JSON反序列化为Map对象Map<String, Object> doc = gson.fromJson(json, new TypeToken<LinkedHashMap<String, Object>>() {}.getType());//将Map放入集合list.add(doc);//打印结果System.out.println(doc);}//查询不分页时命中的记录总数long count = response.getHits().getTotalHits().value;System.out.println("符合条件文档总量为:" + count);} catch (IOException e) {throw new IllegalStateException(e);} finally {if (client != null) {try {//********************Part4 关闭数据连接 ********************//关闭客户端连接client.close();} catch (IOException e) {}}}}
}
http://www.yayakq.cn/news/936593/

相关文章:

  • 网站建设所用系统app定制网站建设应有尽有
  • 高端网站建设推来客网络万网有域名怎么建网站
  • 金安合肥网站建设专业全国十大家装公司排名
  • 中国建设银行邢台分行网站企业微信用途
  • 网站建设维护费上品设计
  • 网站建设公司哪家好如何管理wordpress网站模板
  • 做律师网站的公司it运维证书
  • 域名网站有哪些wordpress编辑图像
  • 网站与微信区别乐清市城乡建设局网站
  • 珠海知名网站网站繁体和中文这么做
  • 建设网站的合同长沙大型网站建设公司
  • 专业做曝光引流网站上海谷歌seo推广公司
  • 英文网站建设的原因网络设计与制作
  • 网站模板怎么建设文章写作网站
  • 龙岩建设局网站声明如何做国外销售网站
  • 商务网站开发课程建言龙华网页设计公司网站
  • 中国移动深圳有限公司门户网站wordpress标签设置
  • 网站后台管理系统权限中国空间站首次太空授课
  • seo网站排名推广拜年图片制作
  • 怎么做示爱的网站公司app开发报价
  • 网站建设保报价文档wordpress浮动条件
  • 品牌建设网站公司用myeclipse做网站
  • 手机端网站建设备案小企业网站建设有什么用
  • 九江php网站建设兼职班级优化大师app下载学生版
  • 购物商城网站搭建投资集团网站建设
  • 网站维护基本概念认知建设网站需要些什么手续
  • 汕头网站建设模块域名需要跟网站名称一致么
  • 网站色彩搭配案例江门建设网站
  • 南通企业网站制作网站开发不用mvc行不行
  • 消防器材厂家东莞网站建设标志设计图案