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

长春网站建设于健官方网站建设哪儿有

长春网站建设于健,官方网站建设哪儿有,wordpress 工业主题,数字博物馆网站建设1. 引言 在大多数的场景里#xff0c;存储数据都是用MySQL这类关系型数据库#xff0c;这类数据库的特点是数据存储安全性和一致性高#xff0c;可以用于事务操作#xff0c;但是随着数据量的增加#xff0c;查询的速度也会随之降低#xff0c;并且其扩展能力有限#x… 1. 引言 在大多数的场景里存储数据都是用MySQL这类关系型数据库这类数据库的特点是数据存储安全性和一致性高可以用于事务操作但是随着数据量的增加查询的速度也会随之降低并且其扩展能力有限因此在日志记录和查询等场景下MySQL就显得力不从心为了解决对海量数据的搜索、分析和计算引入ES(ElasticSearch)搜索引擎。 对于IOT领域记录设备的控制日志非常的有必要对于客诉排查或者之后的数据分析起着很重要的作用假如共有100w的设备一天控制5次那一年的数据 100w * 5 * 365 9 亿因此为了更为较好地存储和查询数据对于这种大量增加的数据建议用es来存储。 2. ES使用 接下来就介绍一下如何利用SpringBoot框架联合es存储和查询数据。 首先引入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactIdversion2.7.4/version /dependency通过引入依赖之后就可以使用SpringBoot提供的ElasticsearchRestTemplate模版类在该类中有着很多方法很方便使用。 配置文件配置es连接 server:port: 8080spring:elasticsearch:rest:uris: http://127.0.0.1:9200 # username: #用户名 # password: #密码connection-timeout: 6000read-timeout: 6000接着在使用的地方注入ElasticsearchRestTemplate Autowired ElasticsearchRestTemplate elasticsearchRestTemplate;保存数据使用es提供save方法 elasticsearchRestTemplate.save(saveBO, getIndex(index_name));// getIndex() 方法 private IndexCoordinates getIndex(String index) {return IndexCoordinates.of(index); }在save方法中共有两个入参第一个参数就是自己想存储的数据里面的字段根据业务自定义第二参数就是定义一个在es中的索引其索引就像MySQL中的表名字。 查询es中的数据 public List query(QueryParam queryParam){// 构建查询的条件BoolQueryBuilder queryBuilder QueryBuilders.boolQuery();// 查询条件1设备idif (!StringUtil.isEmpty(queryParam.getApplianceId())) {queryBuilder.filter(QueryBuilders.termQuery(applianceId.keyword, queryParam.getApplianceId()));}// 查询条件2时间区效开始时间结速时间需同时传输才生效if (queryParam.getOperateBeginDate() ! null queryParam.getOperateEndDate() ! null) {queryBuilder.filter(QueryBuilders.rangeQuery(operateDate).timeZone(Asia/Shanghai) .gte(queryParam.getOperateBeginDate()).lte(queryParam.getOperateEndDate()));}// 实现查询条件组装设置分页中的起始页和每页大小。NativeSearchQuery nativeSearchQuery new NativeSearchQueryBuilder().withQuery(queryBuilder).withPageable(PageRequest.of(queryParam.getPageNo(), queryParam.getPageSize())).withSorts(SortBuilders.fieldSort(operateDate).order(SortOrder.DESC)).build();// 使用elasticsearchRestTemplate.search查询数据SearchHitsQueryResult search elasticsearchRestTemplate.search(nativeSearchQuery, QueryResult.class, getIndex(index_name));// 提取其中的数据提出存储的数据QueryResultListQueryResult list search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList()); }在查询方法中首先使用BoolQueryBuilder来构建查询的条件在代码中使用设备id和时间进行过滤使用NativeSearchQueryBuilder构建好查询条件、分页和降序排序接着使用elasticsearchRestTemplate.search()查询结果最后使用search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList())对查询的结果进行提取。 3. 小结 通过以上的步骤就可以使用es存储和查询数据其中elasticsearchRestTemplate集成度高只需定义好入参和出参即可其他基本都是模块化操作非常简单方便。知道了如何使用其里面的原理也需要了解下有机会再探索下。
http://www.dnsts.com.cn/news/73825.html

相关文章:

  • wix网站建设哪个网站的织梦源码好
  • 未来做哪些网站致富赣州新闻头条
  • 郑州做网站比较好公司如何创作自己的平台
  • 毛站电脑禁止访问网站设置
  • 正能量视频素材免费下载网站济南网站建设找老兵
  • 网站开发保障合同做外贸面料的网站
  • 有哪些网站平台德阳网站建设网站建设
  • js 网站跳转成立一个做网站的公司成本
  • 外贸网站建站n开发一个交友app需要多少钱
  • 网站服务器排名wordpress删除plugin
  • 南昌 网站html5网站开发趋势
  • 可以做笔试面试题的网站请人做装修设计上什么网站
  • 商务网站建设实验报告三层别墅设计图片大全 效果图
  • 南京建设局网站首页北京到广州动卧
  • 网页做二维码哪个网站好六安网站建设费用
  • 网站外包要注意什么电邮注册网站
  • 企业网站建设 管理 维护 请找网站关键词排名100
  • 网站建设合同细节网站栏目设计规划表
  • 网站维护微信公众号设计网站
  • 专业建站制作app界面生成器
  • 网站优化外包费用微信小程序开发环境搭建
  • 广州安尔捷做的网站好吗代运营公司排名
  • 城乡建设部网站首页wordpress 支付 API
  • 域名哪个网站好天津自动网站建设调试
  • 网站备案接入服务商sever2012做网站
  • 中国中建设计网站自己公司产品网站的好处
  • 站长网站查询ppt模板免费的网站推荐
  • 精神文明建设网站模板内部网站做登陆内部链接
  • 营销型网站建设开发工程建设标准网站
  • 全屏网站模板制作教程做外贸怎样上国外网站