当前位置: 首页 > 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/14550118/

相关文章:

  • 网站建设这一行业怎样怎样做网站后台优化
  • 门户网站asp源码百度网站改版
  • 上海做淘宝网站重庆市建设网站公司
  • 网站系统使用说明书做京东一样的网站
  • 加盟高端网站建设富蕴县建设局网站
  • 基因数据库网站开发价格网站编程薪资
  • 中仑建设网站陕西铜川煤矿建设有限公司网站
  • wordpress建站后发布网站建设与管理维护 李建青
  • 网站建设哪个公司最好免费网站建设那个好
  • 交互设计网站案例网站专题页策划
  • 做网站 合肥家具设计师
  • 山东省城乡建设网站ui设计周末培训学校
  • 企业英语网站合肥网站建设制作公司
  • 网站开发都用什么数据库wordpress mx主题
  • 西部数码网站备案做网站需要前置审批
  • 仿v电影wordpress推推蛙seo
  • 个人网站做什么类型好杭州公司网站制作维护
  • 免费询盘网站网站申请免费
  • 互联网 网站定制电商运营培训机构
  • 佛山网站建设seo优化域名解析系统的英文缩写
  • 嘉兴市做外贸网站的网页设计架构
  • 海南网站建设方面哈尔滨市做网站公司
  • 批量发布网站哪些网站可以做产品推广
  • 无忧网站模板网站如何能吸引用户
  • 网站制作关键字排名织梦做淘宝客网站视频
  • 购物网站建设的目的北京轨道交通建设公司网站
  • 营销型网站有什么特点嘉兴网站推广价格
  • php网站开发语言的优点跨境电商怎么开店铺
  • 安徽网站建设天锐科技wordpress视频解析接口
  • 站点搜索个人博客网站页面