ElasticSearch
文章平均质量分 73
ElasticSearch
隐形喷火龙
十多年互联网从业经验,一个有创意的全栈程序员
展开
-
ElasticSearch(ES) Connection reset by peer解决方案
最近使用ElasticSearch遇到一个坑,每天早上第一次使用ES的时候会报错,后面就正常了,去网上查了下资料,发现是因为ES底层用的HttpClient,它的keepalive设置成-1也就是用不断开,但服务器也是有超时时间的,如果这个连接一直没请求进来服务器就会断开该连接,这是在用HttpClient发请求就会报错。# 查看超时时间(单位秒)cat /proc/sys/net/ipv4/tcp_keepalive_time解决办法有两个,一是设置keepalive小于服务器的超时时间,这样原创 2022-05-24 14:42:49 · 3927 阅读 · 2 评论 -
ElasticSearch--聚合查询
聚合(aggs)聚合一般用于数据的统计分析,类似于mysql的group by。聚合里面有两个基本概念,一个叫桶,一个叫度量。桶的作用,是按照某种方式对数据进行分组,每一组数据成为一个桶。比如对手机品牌分组,可以得到小米桶,华为桶。桶的分组方式Date Histogram Aggregation:根据日期阶梯分组,例如给定阶梯为周,会自动每周分为一组Histogram Aggregation:根据数值阶梯分组,与日期类似Terms Aggregation:根据词条内容分组,词条内容完原创 2022-05-16 11:36:57 · 4457 阅读 · 1 评论 -
ElasticSearch分布式实现原理
我们去拉货车时,不会想着去培养更健壮的马,而是应该考虑多找几匹马来拉车。所有分布式系统也是这个原理,垂直扩展毕竟潜力有限,我们应该多考虑如何水平扩展。ES如何实现海量存储ES是通过分片来实现海量存储的,ES的基本存储单位是索引,而索引可以分片存储。如下图比如一个商品索引,可以分成三个shard分表存储在三台电脑上,那就可以使用三台电脑的硬盘和内存,存储空间大大提升,搜索性能也能提升。ES如何实现高可用说到高可用,第一个应该想到的就是备份,ES确实也是这么实现的,shard分为pri.原创 2021-08-19 14:40:53 · 1362 阅读 · 0 评论 -
SpringBoot进阶-集成ElasticSearch(二)
集成ES,我们使用spring-data-es模块,这块API改动挺大的,以前的方法很多都过时了,我现在使用的spring-boot版本是2.3.2第一步,添加依赖<!-- ElasticSearch支持 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearc原创 2021-08-18 13:22:17 · 1773 阅读 · 0 评论 -
SpringBoot入门-集成ElasticSearch(一)
前言ES是现在流行的搜索引擎,在用ES之前,我们首先要明确一个问题,为什么要用ES?其实ES的很多功能MySQL也能实现,搜索可以用like,数据分析聚合可以用group by,似乎不用ES也行,现实也是如此,很多项目也没用到ES,我认为满足以下某一条的,就要考虑使用ES了。MySQL无法实现的一些功能,像分词搜索,高亮等。比如用小米的手机来搜索小米手机,MySQL是无法实现的,只能通过ES 海量数据存储与搜索,MySQL单表千万级压力就挺大了,ES单个索引存储十几亿的记录很常见,主要是ES可以很原创 2021-08-17 10:22:52 · 1382 阅读 · 0 评论