
Elastic底层原理
文章平均质量分 92
Elastic 体系课程第二阶段,即底层原理、是算法及源码
Elastic开源社区
高级系统架构设计师
Elastic 认证工程师
Elastic 认证专家
Elastic 开源社区发起人
优快云 博客专家
阿里云技术社区专家博主
展开
-
倒排索引:ES倒排索引底层原理及FST算法的实现过程
这也许是你全网你能找到的最详细的倒排索引的底层解读。博主把倒排索引的讲解划分为以下七个部分,理解难度递增,可根据自身需要选择依次阅读或者针对性阅读。通常来说,应付一般的面试,理解第一部分即可。如果需要面试搜索相关业务的岗位,需要深层次理解倒排索引,可根据自身情况选择阅读。本文花费了作者大量的精力来论证和整理,如果你喜欢作者的文章,请帮忙点个赞和关注吧 O(∩_∩)O ~。谢谢大家的支持。提到ES,大多数爱好者想到的都是搜索引擎,尽管这是个误区,但是也不得不提。大数据搜索最重要的三个要素分别是 “快”、“准”原创 2022-08-08 22:01:30 · 20511 阅读 · 19 评论 -
倒排索引的数据结构:Term index、Term Dictionary、Posting List
每个Block内部又保存了Block Header、Suffix和Stats信息以及Metadatas信息,其中Block Header中存储了当前Block中的Pending Block和Pending Term的总计数,也就是EntryCount,Sufix则是保存了当前Block后缀的个数以及分别是什么,如block b的SufixLength=2,为f、g。Stats则保存了当前Term的词频和文档频率,参见org.apache.lucene.index.TermsEnum.TermStats。..原创 2022-08-08 22:00:28 · 2795 阅读 · 0 评论 -
增大max_result_window是错的,ES只能查询前10000条数据的正确解决方案
网上你能搜到的大部分解决方法都是让你把`max_result_window`参数阈值调大。没错,这的确能解决眼前问题,但是会带来严重的后果,最常见的就是后期频繁的 OOM,而且很难发现原因。原创 2022-07-17 18:50:06 · 10141 阅读 · 0 评论 -
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(三)
广度优先搜索原创 2022-06-04 23:35:35 · 893 阅读 · 0 评论 -
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(二)
深度优先搜索原创 2022-06-04 23:35:16 · 754 阅读 · 0 评论 -
ES聚合算法原理深入解读:深度优先算法(DFS)和广度优先算法(BFS)(一)
DFS、BFS在ES中的应用原创 2022-06-04 23:34:23 · 2072 阅读 · 0 评论 -
ES写入过程和写入原理调优及如何保证数据的写一致性
文章目录1、ES 的写入过程1.1 ES支持四种对文档的数据写操作1.2 写流程1.3 写一致性策略2、ES 的写入原理2.1 图解文档的写入原理2.2 Translog2.3 Refresh2.3.1 概念和原理2.3.2 设置刷新间隔2.3.3 强制对索引刷新2.4 Flush2.5 Merge3、写入性能调优3.1 基本原则3.2 优化手段3.2.1 增加 flush 时间间隔3.2.2 增加refresh_interval的参数值3.2.3 增加Buffer大小3.2.4 关闭副本3.2.5 禁用s原创 2022-05-31 11:12:12 · 6779 阅读 · 0 评论 -
Elasticsearch相关度评分算法(三):BM25(Okapi BM25)
文章目录1、引言2、相关度概率模型3、Okapi BM25 函数3.1 逆文档频率:IDF(qi)IDF(q_i)IDF(qi)3.1.1 函数公式及参数3.1.2 函数曲线3.1.3 总结3.2 词频相关性函数:S(qi,D)S(q_i,D)S(qi,D)3.2.1 函数及参数3.2.2 相关性曲线3.2.3 k1k_1k1值的作用:3.3 文档长度相关性:KKK4、最终函数公式1、引言BM25(全称:Okapi BM25) 其中 BM 指的 Best Matching 的缩写,是搜索引擎常用的原创 2022-05-17 04:30:53 · 4374 阅读 · 0 评论 -
ES高频面试问题:一张图带你读懂 Elasticsearch 中“正排索引(正向索引)”和“倒排索引(反向索引)”区别
文章目录1、正排索引和倒排索引1.1 正排索引1.2 倒排&正排2、一张图看懂正排&倒排2.1 图解2.2 区别3、一个通俗易懂的比喻4、正排索引的数据结构4.1 doc values4.2 fielddata:5、总结1、正排索引和倒排索引1.1 正排索引从广义来说,doc values 本质上是一个序列化的 列式存储 。列式存储 适用于聚合、排序、脚本等操作,所有的数字、地理坐标、日期、IP 和不分词( not_analyzed )字符类型都会默认开启,不支持text和annota原创 2022-05-10 09:48:15 · 4111 阅读 · 1 评论 -
ES 深度分页问题及针对不同需求下的解决方案(Deep paging)
1、什么是深度分页(Deep paging)?1.1 ES中from+size分页分页问题是Elasticsearch中最常见的查询场景之一,正常情况下分页代码如实下面这样的:GET order_2290w/_search{ "from": 0, "size": 5}输出结果如下图:很好理解,即查询第一页的5条数据。图中数字2即返回的五条文档数据。但是如果我们查询的数据页数特别大,达到什么程度呢?当from + size大于10000的时候,就会出现问题,如下图报错信息所示:报原创 2021-10-16 20:22:34 · 15376 阅读 · 5 评论