elasticsearch

Ch06-Elasticsearch 之 Update

August 21, 2021
Elasticsearch
elasticsearch

更新操作也是写操作。Elasticsearch 在创建新文档时,Elasticsearch 将为该文档分配一个版本号。对文档的每次更改都会产生一个新的版本号。当执行更新时,旧版本在.del 文件中被标记为已删除,并且新版本在新的分段中编入索引。旧版本可能仍然与搜索查询匹配,但是从结果中将其过滤掉。

...

Ch07-Elasticsearch 之 Segment Merge

August 21, 2021
Elasticsearch
elasticsearch

在 Elasticsearch 中,为了让插入的让数据更快的被检索使用。用一句话来概括就是”开新文件”。但是从另一个方面看,开新文件也会给服务器带来负载压力。因为默认每 1 秒,都会有一个新文件产生,每个文件都需要有文件句柄,内存,CPU 使用等各种资源。一天有 86400 秒,设想一下,每次请求要扫描一遍 86400 个文件,这个响应性能绝对好不了。为了解决这个问题,Elasticsearch 引入了 Merge 操作。

...

Ch04-Elasticsearch 之 Search

August 15, 2021
Elasticsearch
elasticsearch

Elasticsearch 的 Search 操作包含两个阶段,一个是 QueryPhase,另一个是 FetchPhase。QueryPhase 在初始查询阶段,查询会广播到索引中每一个分片副本 (主分片或副分片)。每个分片在本地执行搜索并构建一个匹配文档的优先队列(优先队列是一个存有 topN 匹配文档的有序列表,即 doc id。优先队列大小为分页参数 from + size),注意该队列中并没有取具体的数据。FetchPhase 会根据获取到的 doc id 向对应的节点依次发送 GET 请求,获取结果,然后合并,聚合,排序最终返回结果。

...

Ch01-Elasticsearch 介绍

August 1, 2021
Elasticsearch
elasticsearch

Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

...