96SEO 2026-02-19 19:57 14
一致性高可以用于事务操作但是随着数据量的增加查询的速度也会随之降低并且其扩展能力有限因此在日志记录和查询等场景下MySQL就显得力不从心为了解决对海量数据的搜索、分析和计算引入ES(ElasticSearch)搜索引擎。

对于IOT领域记录设备的控制日志非常的有必要对于客诉排查或者之后的数据分析起着很重要的作用假如共有100w的设备一天控制5次那一年的数据
亿因此为了更为较好地存储和查询数据对于这种大量增加的数据建议用es来存储。
接下来就介绍一下如何利用SpringBoot框架联合es存储和查询数据。
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactIdversion2.7.4/version
/dependency通过引入依赖之后就可以使用SpringBoot提供的ElasticsearchRestTemplate模版类在该类中有着很多方法很方便使用。
8080spring:elasticsearch:rest:uris:
6000接着在使用的地方注入ElasticsearchRestTemplate
elasticsearchRestTemplate;保存数据使用es提供save方法
elasticsearchRestTemplate.save(saveBO,
}在save方法中共有两个入参第一个参数就是自己想存储的数据里面的字段根据业务自定义第二参数就是定义一个在es中的索引其索引就像MySQL中的表名字。
(!StringUtil.isEmpty(queryParam.getApplianceId()))
{queryBuilder.filter(QueryBuilders.termQuery(applianceId.keyword,
queryParam.getApplianceId()));}//
(queryParam.getOperateBeginDate()
{queryBuilder.filter(QueryBuilders.rangeQuery(operateDate).timeZone(Asia/Shanghai)
.gte(queryParam.getOperateBeginDate()).lte(queryParam.getOperateEndDate()));}//
实现查询条件组装设置分页中的起始页和每页大小。
NativeSearchQuery
NativeSearchQueryBuilder().withQuery(queryBuilder).withPageable(PageRequest.of(queryParam.getPageNo(),
queryParam.getPageSize())).withSorts(SortBuilders.fieldSort(operateDate).order(SortOrder.DESC)).build();//
使用elasticsearchRestTemplate.search查询数据SearchHitsQueryResult
elasticsearchRestTemplate.search(nativeSearchQuery,
提取其中的数据提出存储的数据QueryResultListQueryResult
search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());
}在查询方法中首先使用BoolQueryBuilder来构建查询的条件在代码中使用设备id和时间进行过滤使用NativeSearchQueryBuilder构建好查询条件、分页和降序排序接着使用elasticsearchRestTemplate.search()查询结果最后使用search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList())对查询的结果进行提取。
通过以上的步骤就可以使用es存储和查询数据其中elasticsearchRestTemplate集成度高只需定义好入参和出参即可其他基本都是模块化操作非常简单方便。
知道了如何使用其里面的原理也需要了解下有机会再探索下。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback