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

电子商务的网站的建设内容国投集团网站开发

电子商务的网站的建设内容,国投集团网站开发,滨州公司网站建设推广,苏州旅游必去十大景点目录 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.1、查询基本框架 DSL 请求的对应格式 响应的解析 1.1.2、全文检索查询 1.1.3、精确查询 1.1.4、复合查询 1.1.5、排序和分页 1.1.6、高亮 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.…目录 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.1、查询基本框架 DSL 请求的对应格式 响应的解析 1.1.2、全文检索查询 1.1.3、精确查询 1.1.4、复合查询 1.1.5、排序和分页 1.1.6、高亮 一、基于 JavaRestClient 查询文档 1.1、查询 API 演示 1.1.1、查询基本框架 接下里通过一个 match_all 查询所有来演示以下基本的 API. Testpublic void testMatchAll() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.matchAllQuery());//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}/*** 处理响应* param response*/private void handlerResponse(SearchResponse response) {//1.解析结果SearchHits hits response.getHits();//获取总条数long total hits.getTotalHits().value;SearchHit[] hits1 hits.getHits();for(SearchHit searchHit : hits1) {//获取sourceString json searchHit.getSourceAsString();System.out.println(json);}}由上可以看出查询的基本步骤如下 创建 SeaechRequest 对象指定索引库.Request.source() 准备参数也就是 DSL. 通过 QueryBuilders 构建查询条件.传入 Request.source() 的 query() 方法构建好完整的查询.发送请求得到结果.解析结果又外而内逐层解析. DSL 请求的对应格式 DSL 语句的构建是通过 HighLevelRestClient 中的 Resource 实现的其中包含了 查询、排序】分页、高亮等所有功能. 其中  query 表示查询的意思他的查询条件的是由 QueryBuilders 的工具类提供的包含了各种查询方法. 响应的解析 响应解析这里可以在 Kibana 上通过查询结果对比着看出 API 的调用关系. 1.1.2、全文检索查询 全文检索的 match 和 multi_match 查询和前面演示的 match_all 调用的 API 基本一致差别就是查询条件也就是 query 部分通过 QueryBuilders 构建的条件不一样. Testpublic void testMatch() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.matchQuery(brand, 如家));//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}multi_match 也是如此只是可以支持多个参数查询. Testpublic void testMultiMatch() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.multiMatchQuery(如家, brand, name));//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}运行结果 1.1.3、精确查询 精确查询常见的有 term 查询 和 range 查询同样利用 QueryBuilders 实现. Testpublic void testTerm() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.termQuery(city, 上海));//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}range 查询也是如此. Testpublic void testRange() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.rangeQuery(price).gte(100).lte(200)); //链式调用//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}1.1.4、复合查询 布尔查询是一个或多个查询子句的组合. 子查询的组合方式有 must必须匹配的查询条件类似 “与”.should选择性匹配的查询条件类似 “或”.must_not必须不匹配不参与算分类似 “非”.filter必须匹配不参与算分 RestAPI 中也提供 BoolQueryBuilder 条件构建方法用来添加上述条件. Testpublic void testBoolQuery() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数BoolQueryBuilder booleanQuery QueryBuilders.boolQuery();booleanQuery.must(QueryBuilders.termQuery(city, 上海));booleanQuery.filter(QueryBuilders.rangeQuery(price).lte(200));request.source().query(booleanQuery); //链式调用//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}1.1.5、排序和分页 对于搜索结果的排序和分页与  query 是同级参数对应 API 如下. Testpublic void testFromSize() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.matchAllQuery());//分页 offset20 size10request.source().from(20).size(10);//降序排序request.source().sort(price, SortOrder.DESC);//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}1.1.6、高亮 高亮的  API 包括请求构建 DSL 语句 和 结果解析 两个部分. 请求构建如下 Testpublic void testHighLighter() throws IOException {//1.准备 SearchRequestSearchRequest request new SearchRequest(hotel);//2.准备参数request.source().query(QueryBuilders.matchQuery(brand, 如家));request.source().highlighter(new HighlightBuilder().field(name).requireFieldMatch(false));//3.发送请求并接收响应SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.解析响应handlerResponse(response);}响应解析如下 private void handlerResponse(SearchResponse response) throws JsonProcessingException {//1.解析结果SearchHits hits response.getHits();//获取总条数long total hits.getTotalHits().value;SearchHit[] hits1 hits.getHits();for(SearchHit searchHit : hits1) {//获取sourceString json searchHit.getSourceAsString();System.out.println(json);//2.处理高亮//获取高亮MapString, HighlightField highlightFieldMap searchHit.getHighlightFields();if(!CollectionUtils.isEmpty(highlightFieldMap)) {//获取高亮字段的 valueHighlightField highlightField highlightFieldMap.get(name);if(highlightField ! null) {//取出高亮结果数组中的第一个这里是酒店名称String name highlightField.getFragments()[0].string();//对高亮字段的处理(这里打印做演示)System.out.println(name);}}}}运行后可以看到通过 sout 打印出的“高亮”字段最后会传输给前端 让前端处理高亮. 后端只是标记出了哪些字段需要高亮处理
http://www.lebaoying.cn/news/37790.html

相关文章:

  • 响应式网站广州网站建设青海网站建设 小程序开发
  • 手机网页设计制作网站seo权重查询
  • 网络营销之网站建设制作网页的详细步骤
  • 如何给网站添加外链网站后台注入
  • 网站cms模板娄底网站建设企业
  • 金湖有哪里做网站的做软件项目的网站
  • 网站建设发展方向有哪些wordpress 相册
  • 宜昌住房与城乡建设部网站网站开发数据库课程设计
  • 国外网站推广平台有哪些公司如何自己建网站企业网站
  • 门户网站的优缺点一支部一品牌一特色方案
  • 做 专而精 的网站西地那非片的功效是多长时间
  • 小公司网站建设wordpress搬家插件
  • 建设手机版网站做外贸如何建立网站
  • 网站建设接单技巧网站怎么做seo收录
  • 温州做网站制作房产网站怎么推广
  • 重庆大学建设管理与房地产学院网站wordpress插件没有效果
  • nas可以做网站超级外链工具
  • 太原的网站搭建公司APP加网站建设预算多少钱
  • 淘宝客网站开发平台三星网站建设内容
  • wordpress 用户 注册页面模板台州做网站优化哪家好
  • 电子商务网站开发与应用论文今天最新生猪价格
  • 口碑好网站建设公司电话高校网站群建设方案
  • 速贝cms建站系统wordpress移动端菜单
  • 音酷网站建设郑州做网站茂睿科技
  • 外贸网站电子建设购物网站开发英文文献
  • 电商网站开发平台哪个好设置WordPress文章图片
  • 网站制作流程视频教程重庆忠县网站建设公司哪家专业
  • 打造一个网站需要多少钱seo网站营销推广全程实例 pdf
  • wordpress demo iframe常州seo
  • 域名有了怎么建设网站如何给网站写文章