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

网站的域名是什么织梦网站专题模板下载

网站的域名是什么,织梦网站专题模板下载,大山子网站建设,单位网站建设意见1 需求分析 以关键字作为查询条件#xff0c;查询结果中包含的商品分类#xff0c;在页面中显示出来 2 实现思路 #xff08;1#xff09;商品分类列表的显示使用聚合查询 #xff08;2#xff09;使用过滤查询 3 代码实现 修改SearchServiceImpl的search方法…1 需求分析 以关键字作为查询条件查询结果中包含的商品分类在页面中显示出来 2 实现思路 1商品分类列表的显示使用聚合查询 2使用过滤查询 3 代码实现 修改SearchServiceImpl的search方法在第一段代码封装查询请求的末尾处添加以下代码 package com.changgou.service;import org.apache.commons.lang.StringUtils; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.text.Text; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.MatchQueryBuilder;import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.Aggregation; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.aggregations.Aggregations; import org.elasticsearch.search.aggregations.bucket.terms.Terms; import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.SortOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;/*** author lijunxuan* date Created in 2019/7/17 19:00* description * version: 1.0*/ Service public class SearchServiceImpl implements SearchService {Autowiredprivate RestHighLevelClient restHighLevelClient;//设置每页查询条数据public final static Integer PAGE_SIZE 4;Overridepublic Map search(MapString, String paramMap) throws Exception {MapString,Object resultMapnew HashMap();/*** 1.获取查询参数*///查询关键字String keywords paramMap.get(keywords);//当前页数String pageNo paramMap.get(pageNo);//按照什么域进行排序String sort paramMap.get(sort);//排序方式是升序还是降序String sortOrder paramMap.get(sortOrder);/*** 2.获取查询需要的对象*///创建查询对象指定索引库名称_indexSearchRequest searchRequest new SearchRequest(sku);//指定查询索引库中的类型searchRequest.types(doc);//创建查询构造对象SearchSourceBuilder searchSourceBuilder new SearchSourceBuilder();//创建布尔查询组合查询对象BoolQueryBuilder boolQueryBuilder QueryBuilders.boolQuery();/*** 3.设置根据关键字查询关键字需要中文分词*/MatchQueryBuilder nameQueryBuilder QueryBuilders.matchQuery(name, keywords);//根据名称查询条件放入组合查询对象中boolQueryBuilder.must(nameQueryBuilder);/*** 4. 设置高亮查询*/HighlightBuilder highlightBuilder new HighlightBuilder();//设置在哪个域中高亮显示highlightBuilder.field(name);//设置高亮前缀highlightBuilder.preTags(em style\color:red\);//设置高亮后缀highlightBuilder.postTags(/em);searchSourceBuilder.highlighter(highlightBuilder);/*** 5. 设置分页查询*/if (StringUtils.isEmpty(pageNo)) {paramMap.put(pageNo, 1);resultMap.put(pageNo, 1);}Integer pageNoTemp Integer.parseInt(pageNo);if (pageNoTemp 1) {paramMap.put(pageNo, 1);resultMap.put(pageNo, 1);pageNoTemp 1;}//从第几条开始查询Integer start (pageNoTemp - 1) * PAGE_SIZE;//从第几条开始查询searchSourceBuilder.from(start);//每页查询多少条数据searchSourceBuilder.size(PAGE_SIZE);/*** 6. 设置排序查询*/if (!StringUtils.isEmpty(sort)) {//升序if (ASC.equals(sortOrder)) {searchSourceBuilder.sort(sort, SortOrder.ASC);}//降序if (DESC.equals(sortOrder)) {searchSourceBuilder.sort(sort, SortOrder.DESC);}}/*** 7. 设置根据分类聚合查询* 其实就是按照分类名称分组查询, 目的是找到根据当前的关键字, 查询出对应的分类, 并且要去除掉重复的分类* tems中传入的是聚合组的名称, 可以随意起名, 但是不要重复*/TermsAggregationBuilder termsAggregationBuilder AggregationBuilders.terms(categoryGroup).field(categoryName);searchSourceBuilder.aggregation(termsAggregationBuilder);/*** 12.查询并返回的结果*///将组合查询条件放入查询构造对象中searchSourceBuilder.query(boolQueryBuilder);//将组合查询条件放入查询请求中searchRequest.source(searchSourceBuilder);SearchResponse searchResponse restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);/*** 13. 获取查询到的结果集, 封装后返回*/SearchHits searchHits searchResponse.getHits();//获取查询到的总条数long totalHits searchHits.getTotalHits();resultMap.put(total,totalHits);//获取查询结果集SearchHit[] hits searchHits.getHits();List rows new ArrayList();if (hits!null){for (SearchHit hit : hits) {//获取普通的查询出来的一条数据(不带高亮名称)MapString, Object sourceAsMap hit.getSourceAsMap();//获取高亮结果MapString, HighlightField highlightFields hit.getHighlightFields();if (highlightFields ! null) {HighlightField highlightField highlightFields.get(name);Text[] fragments highlightField.fragments();if (fragments ! null fragments.length 0) {//将高亮名称放入查询出来的数据中, 覆盖原来不带高亮的名称sourceAsMap.put(name, fragments[0].toString());}}rows.add(sourceAsMap);}}resultMap.put(rows,rows);/*** 14. 获取根据分类聚合查询结果*/Aggregations aggregations searchResponse.getAggregations();//将聚合结果转换成MapMapString, Aggregation asMap aggregations.getAsMap();//根据分组名称获取聚合的具体结果Terms terms (Terms)asMap.get(categoryGroup);//获取分组后集合中的具体内容List? extends Terms.Bucket buckets terms.getBuckets();ListString categoryList new ArrayList();if (buckets ! null) {for (Terms.Bucket bucket : buckets) {categoryList.add(bucket.getKeyAsString());}}resultMap.put(categoryList, categoryList);return resultMap;} } 4测试结果
http://www.zqtcl.cn/news/181856/

相关文章:

  • 网站建设开发的流程建设官方网站的主要作用
  • 怎样用模板做网站wordpress柚子皮
  • 长宁区网站建设公司内蒙古赤峰市建设局网站
  • 网站配色怎么对网站的数据库做管理
  • 企业网站效果图wap网站
  • 网站建设优化托管跨境电商怎么做流程
  • 昆明网站建站平台在线阅读网站开发教程
  • pv3d 优秀网站18种最有效推广的方式
  • 一站式网站建设顾问网站建设公司专业网站科技开发
  • python做网站比php好网站开发财务费用
  • 图片上传网站变形的处理北京网站建设有哪些公司
  • 昆山品牌网站建设wordpress 浮动二维码
  • 网站网页建设论文cms免费源码
  • wordpress登录的图片不显示seo竞价网站建设
  • 邢台做移动网站找谁网上推广平台哪个好
  • 做网站准备广州短视频拍摄公司
  • 网站建设学什么软件做电影资源网站有哪些
  • 怎么样让百度搜到自己的网站wordpress的短代码
  • 聊城专业网站建设公司电子商务网站建设与维护李建忠下载
  • icp备案网站接入信息怎么写长兴县网站建设
  • 如何在网上注册公司网站网站不想让百度收录
  • 服务器做jsp网站教程视频免费的舆情网站app下载
  • 肇庆网站建设方案优化家居定制类网站建设
  • 自助建站加盟备案的网站有什么好处
  • 科技公司企业网站建设重庆seo优化
  • 空间站天宫vr全景尚层装饰
  • 有没有专门做中考卷子的网站网络公司推广公司
  • 网站建设费用如何列支wordpress页面构建
  • 用dw做网站怎么做出下拉菜单企业进行网站建设的方式有( )
  • 纯静态网站索引怎么做如何用wampp 做网站