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

寺院的网站怎么做物流企业网站建设与管理规划书

寺院的网站怎么做,物流企业网站建设与管理规划书,做门户网站私活多少钱,旅游电子商务网站的品牌建设一、前言 注#xff1a;本文实现了Java对Elasticseach的分页检索/不分页检索的封装 ES就不用过多介绍了#xff0c;直接上代码#xff1a; 二、实现步骤#xff1a; 创建Store类#xff08;与ES字段对应#xff0c;用于接收ES数据#xff09; import com.alibaba.f…一、前言 注本文实现了Java对Elasticseach的分页检索/不分页检索的封装 ES就不用过多介绍了直接上代码 二、实现步骤 创建Store类与ES字段对应用于接收ES数据 import com.alibaba.fastjson2.annotation.JSONField; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field;/*** indexName 索引名称 理解为数据库名 限定小写* type 理解为数据库的表名称* shards 默认分区数* replicas 每个分区默认的备份数* refreshInterval 刷新间隔* indexStoreType 索引文件存储类型**/ Data Builder NoArgsConstructor AllArgsConstructor Document(indexName yourIndex, shards n, replicas n, refreshInterval n) public class Store implements Serializable {/*** 属性与ES字段对应* 注Field注解* 若Java属性名与ES字段名不同则根据Field的name属性匹配ES字段* 若Java属性名与ES字段名完全相同则不用加该注解或name属性*/Field(name yourESfield)private String yourAttribute; }Elasticsearch全文检索接口不分页检索 import com.alibaba.fastjson2.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.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.index.query.BoolQueryBuilder; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors;Slf4j Component public class Elasticsearch{Autowiredprivate RestHighLevelClient restHighLevelClient;/*** 不分页检索** param yourIndex 索引* param builder 搜索条件* param sortField 排序属性* param sortOrder 排序方式* param clazz 返回类* param T 泛型* return 分页表格*/SuppressWarnings(checkstyle:ParameterNumber)public T ListT searchListByCond(String yourIndex, BoolQueryBuilder builder, String sortField, SortOrder sortOrder, ClassT clazz) {SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(builder);if (StringUtils.isNotBlank(sortField)) {sourceBuilder.sort(sortField, sortOrder);}SearchRequest request new SearchRequest(yourIndex);request.source(sourceBuilder);SearchResponse response null;try {response restHighLevelClient.search(request, RequestOptions.DEFAULT);} catch (Exception e) {log.error(Search Elasticsearch Error!, e);}if (response null) {return Collections.emptyList();}return Arrays.stream(response.getHits().getHits()).map(v - JSON.parseObject(v.getSourceAsString(), clazz)).collect(Collectors.toList());} }Elasticsearch全文检索接口分页检索 /*** 分页检索** param yourIndex 索引* param builder 搜索条件* param page 分页参数自己封装一个分页类网上很多easy* param sortField 排序属性* param sortOrder 排序方式* param clazz 返回类* param T 泛型* return 分页表格*/SuppressWarnings(checkstyle:ParameterNumber)public T PageT searchPageByCond(String yourIndex, BoolQueryBuilder builder, PageT page, String sortField, SortOrder sortOrder, ClassT clazz) {SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(builder);sourceBuilder.from(Math.max(page.getOffset(), 0));sourceBuilder.size(page.getLimit());if (StringUtils.isNotBlank(sortField)) {sourceBuilder.sort(sortField, sortOrder);}SearchRequest request new SearchRequest(yourIndex);request.source(sourceBuilder);SearchResponse response null;try {response restHighLevelClient.search(request, RequestOptions.DEFAULT);} catch (Exception e) {log.error(Search Elasticsearch Error!, e);}if (response null) {page.setRows(Collections.emptyList());page.setTotal(0);return page;}page.setRows(Arrays.stream(response.getHits().getHits()).map(v - JSON.parseObject(v.getSourceAsString(), clazz)).collect(Collectors.toList()));page.setTotal((int) response.getHits().getTotalHits().value);return page;}三、总结 本文实现了Java对Elasticsearch搜索引擎全文检索的封装 传入索引、BoolQueryBuilder查询条件选传、排序方式选传、Store数据接收类 即可完成对Elasticsearch的全文分页检索、不分页检索
http://www.hkea.cn/news/14373026/

相关文章:

  • 东莞网站制作实力乐云seowordpress 5图片相对路径
  • 为了 门户网站建设没有营业执照 怎么做网站
  • 做网站需要了解什么wordpress 换模板
  • 电子邮箱怎么注册seo专员是干什么的
  • 设计数码产品宣传网站php怎么连接wordpress
  • 我现在有域名怎么做网站视频类网站建设的成果
  • 服装商城网站源码谁会在掏宝网上做网站
  • 网站建设找宙斯站长工具asp网站怎么运行
  • 网站建设开发方式包括哪些方面wordpress新建页面无法选择模板
  • 不要网站域名东莞网站定制开发
  • 一级a做爰片免费视频网站做网站的总是有活动怎么回事
  • 市级档案网站建设情况分析爱有声小说网站捡个校花做老婆
  • 佛山规划建设局网站潍坊专业输送带产品介绍
  • 蒙古文网站建设wordpress 无法找到该页
  • 做信誉认证对网站有什么好处app项目开发教程
  • 网站主页和子页风格如何统一性价比最高的网站建设
  • 大神自己做的下载音乐的网站百度搜索热度指数
  • 免费网站推广网站不用下载西安网络营销学习网站
  • discuz 仿h5 网站模板南宁小程序定制开发
  • 模拟网站建设网站可分为哪两种类型
  • 汕头网站制作电话重庆市造价信息网官网
  • 做问卷调查的是哪个网站好wordpress添加数据库
  • 上海房地产官网网络营销渠道优化
  • 188旅游网站源码下载商城网站建设合同范本
  • 山东诚祥建设集团公司网站内蒙古网站seo优化
  • 微网站幻灯片尺寸服务商名称是什么意思
  • 企业培训网站建设手机wap网站如何建设
  • 网页设计作业讲解临沂做网络优化的公司
  • 成都英文网站建设优质的聊城网站建设
  • 皮具网站建设石家庄seo顾问