首页
学习
活动
专区
工具
TVP
发布

跳跳爸的Abc

专栏成员
18
文章
11354
阅读量
10
订阅数
两个Elaticsearch查询问题分析
这次给大家分享两个Es查询问题的实际案例,分别跟文本匹配和统计查询有关,直接进入正题。
tiaotiaoba
2022-01-18
2820
使用ElasticSearch的44条建议
在搜索业务上摸爬滚打3年,使用的Es版本也从1.x升级到了5.x,扮演的角色也逐渐从Es的使用方变为维护方,这里大致汇总了使用Es过程中踩的一些坑以及一些注意事项,也会穿插一下我们的解法。
tiaotiaoba
2022-01-18
8350
记一次类加载器的简单应用
jvm和java语言是两种产品,java代码编译后生成字节码bytecode(.class文件),jvm解释字节码转换为机器码并真正执行,字节码和虚拟机之间的桥梁就是java开发中常见的类加载器,实现从外部来加载某个类的字节码并传递给虚拟机。
tiaotiaoba
2022-01-18
3870
假如我来设计scroll-Elasticsearch的遍历操作分析
Es低版本(1.x)的scroll操作还有一个变种:scan,其在指定size时真实返回的是size * num_of_shards条数据,比如scan请求返回size=10条数据,而索引本身有5个shard,那么一次scan将返回10*5=50条数据,另外在第一次请求时只执行初始化操作,不会返回数据,在第二次请求时才会返回数据。
tiaotiaoba
2022-01-18
5470
一种多数据源索引同步设计
在我接触的很多应用开发中,搜索引擎(ElasticSearch)是充当业务宽表使用,也就是聚合多张业务表,免去线上查询的join操作。
tiaotiaoba
2022-01-18
4940
聊聊蝇量级搜索平台设计
“赞”搜索平台围绕重存储轻搜索的场景(可以参见前面写的一篇文章“轻搜索的困局和破局之道”)而设计,在平台前面加上“轻量”两字,并不是指体量小,而是说业务多样性。
tiaotiaoba
2022-01-18
1690
ES每日tip往期回顾(第二期)
在假设正常情况下并发更新概率很小的前提下,为了性能考虑,es通过乐观锁解决文档并发更新问题,创建文档时如果不设置version,默认初始version=1,之后每次update时version自增;如果要重置version,只能通过index操作并设置force=true,来强制重置文档version es原生不支持在update时设置version(理论上是可以实现的,我甚至给开发组提了个issue:https://github.com/elastic/elasticsearch/issues/25996
tiaotiaoba
2022-01-18
2630
聊聊轻量级本地缓存设计
缓存是提高服务性能的关键,同时也是防止后端服务雪崩的良药,缓存应用比较广泛的主要是memcached或者redis,而redis甚至还有扩展为集群版本的codis,但本质上还是将key哈希之后路由到集群中某台机器上存储,也就是单key只能存在于单台机器。这种情况下,如果有热点key存在,即使是分布式缓存,仍然可能会因为流量过大导致单机网卡过载而无法正常工作。
tiaotiaoba
2022-01-18
7420
ES每日tip往期回顾(第一期)
es中建索引是指创建一个保存数据的目录,用于保存倒排索引,索引创建之后是不可变的(Immutable),只允许新增字段 es字段是否索引只能在创建索引时配置,不同于mysql,es不能在字段创建后再给字段“加索引” 索引字段有为“索引(indexed)”和“存储(stored)”两个属性,只有被“索引”的字段才能在查询/排序条件中使用,只有被“存储”的字段才能在请求的时候返回字段内容 必须保证索引字段都存储(stored)才能使用update操作,update原理是先从索引中get到原文档内容,然后与传入的
tiaotiaoba
2022-01-18
3680
中小规模搜索引擎(ElasticSearch)典型应用场景及性能优化(四)
(接上篇)搜索引擎从接收到查询请求到返回响应结果,中间需要经过多个数据处理步骤,如果能够从流程上优化,节约不必要的消耗,也同样能够提升性能表现,而且效果经常还不错,这次就来聊聊查询过程优化。
tiaotiaoba
2022-01-18
4510
中小规模搜索引擎(ElasticSearch)典型应用场景及性能优化(三)
再说到性能优化,个人把搜索引擎的性能优化分为索引数据优化和查询流程优化两方面,这次先来聊聊索引数据优化。
tiaotiaoba
2022-01-18
4450
中小规模搜索引擎(ElasticSearch)典型应用场景及性能优化(二)
首先通过搜索词匹配倒排表得到一个只有id的结果集,然后通过id匹配正排索引拿到对应的文档字段,最后返回结果,这样的好处是:
tiaotiaoba
2022-01-18
5500
泛型容器Collection
这个例子其实有点反人类,估计大部分人(包括我)对这种转换的第一反应肯定是“当然是对的”(这就掉坑了),说下我的理解:
tiaotiaoba
2022-01-18
4510
Collection<Number>与Collection<? extends Number>与Collection<?>
这个问题其实有点反人类,估计大部分人(包括我)对这种转换的第一反应肯定是“当然是对的。。”,说下我的理解:
tiaotiaoba
2022-01-18
4040
"轻"搜索的困局和破局之道
我应该是公司第一个专职搜索的,当时搜索所有组件只有一个ES(elasticsearch),虽然之前在干过将近两年的solr,不过主要还是以数据检索为主(类似于为hbase建一个二级索引),既然组织安排也就接下了这口锅,从基础的查询解析/数据同步做起,一点点的把整个搜索的框架立起来,团队“一度扩张”到3个人,承接了整个公司大部分的搜索业务,负责的数据大概有几十亿,从第一年双十一忙于救火的状态到去年的平稳渡过,都不同程度证明了整个搜索团队的成长。
tiaotiaoba
2022-01-18
2270
3.5.9 Shard Allocation
分片分配 (shard allocation),是指在索引创建、副本增减、节点增减、分片重平衡等过程将索引分片落实到实际的物理节点的操作,包括但不限于:
tiaotiaoba
2021-07-14
8230
Elasticsearch读写中间件的设计
相比之下大家对数据库中间件的项目背景会比较熟悉,其实搜索中间件的项目背景也类似,搜索系统总的来说可以分两种,一种是业务为主的搜索推荐系统,另一种是以提供基础搜索服务能力为主的泛化的数据检索系统。
tiaotiaoba
2019-11-11
1.7K0
Es因scroll查询引起的gc问题
某日下午正开心的逛着超市,突然收到线上es机器的fgc电话告警,随之而来的是一波es reject execution,该es机器所处集群出现流量抖动。
tiaotiaoba
2019-11-11
2.2K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档