ElasticSearch搜索引擎
文章平均质量分 91
ElasticSearch搜索引擎
张维鹏
这个作者很懒,什么都没留下…
展开
-
ElasticSearch搜索引擎常见面试题总结
一、ElasticSearch基础:1、什么是Elasticsearch:Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。全文检索是指对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当查询时,根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。2、Elasticsearch 的基本概念:(1)index 索原创 2021-04-12 01:29:31 · 47926 阅读 · 6 评论 -
ElasticSearch搜索引擎: 内存分析与设置
在Elasticsearch 的运行过程中,如何合理分配与设置内存是一件十分重要的事情,否则十分容易出现各种问题。一、Elasticsearch为什么吃内存:我们先看下 ES 服务器的总体内存消耗情况:对于Query Cache、Request Cache、FieldData Cache 以及 Segment 的介绍,在前面的文章以及介绍过了,这里就不重复介绍了:Elasticsearch搜索引擎之缓存:Request Cache、Query Cache、Fiel...原创 2022-02-07 08:00:00 · 2963 阅读 · 0 评论 -
ElasticSearch搜索引擎:数据的写入流程
(1)ES 客户端选择一个节点 node 发送请求过去,这个节点就是协调节点 coordinating node(2)协调节点对 document 进行路由,通过 hash 算法计算出数据应该落在哪个分片shard 上,然后根据节点上维护的 shard 信息,将请求转发到对应的实际处理节点node上(3)实际的节点上的primary shard 主分片处理请求,然后将数据同步到副本节点(4)coordinating node 等到primary node 和所有 replica node 都执原创 2022-02-07 08:00:00 · 13841 阅读 · 0 评论 -
Elasticsearch搜索引擎:ES的segment段合并原理
一、segment文件的合并流程:当我们往 ElasticSearch 写入数据时,数据是先写入 memory buffer,然后定时(默认每隔1s)将 memory buffer 中的数据写入一个新的 segment 文件中,并进入 Filesystem cache(同时清空 memory buffer),这个过程就叫做 refresh;每个 Segment 事实上是一些倒排索引的集合, 只有经历了 refresh 操作之后,数据才能变成可检索的。ElasticSearch 每次 refresh原创 2021-06-16 11:48:39 · 20281 阅读 · 14 评论 -
ElasticSearch搜索引擎:常用的存储mapping配置项 与 doc_values详细介绍
1、Elasticsearch的mapping设置:enabled,index,doc_values,store,_source2、doc_values 详细说明:doc values就是在构建倒排索引时,对开启 doc values 的字段额外构建一个有序的 "document文档 ==> field value“ 的列式存储映射,从而实现对指定字段进行排序和聚合时对内存的依赖,提升该过程的性能。3、doc_values 与 source 的区别?使用 docvalue_fields 检索指定字段原创 2021-06-15 08:49:05 · 15897 阅读 · 5 评论 -
Elasticsearch搜索引擎之缓存:Request Cache、Query Cache、Fielddata Cache
ElasticSearch 查询需要占用 CPU、内存资源,在复杂业务场景,会出现慢查询,需要花费大量的时间。为了提高系统的性能,除了增加集群硬件配置这种成本高昂的开销外,还可以使用 ES 的缓存,下面我们就介绍几种 ES 中常用的缓存。一、Request cache:1、什么是 Request cache:Request Cache,全称是 Shard Request Cache,即分片级请求缓存。当对一个或多个索引发送搜索请求时,搜索请求首先会发送到ES集...原创 2021-06-20 22:59:21 · 19885 阅读 · 10 评论