![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索引擎
文章平均质量分 66
Sir.悟空
雨中没有伞的程序员
展开
-
ElasticSearch学习6
Master 选举 节点发现 选举发起 选举谁 Bully算法 选举成功 避免脑裂 错误检测 图 https://pic2.zhimg.com/v2-7c4b590346650f5e32088458da5df48d_r.jpg ES自己实现的一套用于节点发现和选主等功能的模块:ZenDiscovery 当一个节点发现包括自己在内的多数派的master-eligible节点认为集群没有master时,就可以发起master选举 该master-eligible节点的当前状态不是master。 该m原创 2022-01-10 19:49:26 · 621 阅读 · 0 评论 -
ElasticSearch学习5
删除 删除操作,commit的时候会生成一个.del文件,里面将某个doc标识为deleted状态,在搜索的时候根据.del文件可判断该doc已被删除。 merge的时候,会看一下如果某条数据被标识.del,则删除,新的segment file 就没有了。 更新 更新操作-doc全量替换,就是将原来的doc标识为deleted状态,然后新写入一条数据。 查询 搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch; 在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分原创 2022-01-07 19:00:00 · 557 阅读 · 0 评论 -
ElasticSearc 学习4
数据写入 集群 客户端选择了一个node发送数据过去,这个node就是coordinating node 协调节点; Coordinating node 对document进行路由,将请求发送给对应的node 有primary shard 路由算法: shard_index=hash(id)%number_of_primary_shards 实际的node上的primary shard处理请求,然后将数据同步到replica node coordinating node,如果发现primary no原创 2022-01-05 20:23:28 · 614 阅读 · 0 评论 -
ElasticSearc 学习3
ElasticSearch 集群 Es支持集群,简单配置即可,隐藏了分布式的复杂性 集群架构 解决高可用,分担请求压力 分布式架构 分担存储和计算压力,提速,解耦 集群分布式架构 配置,是否是候选节点,是否仅是数据节点 node.master: true node.data: true 集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整原创 2022-01-04 22:04:51 · 621 阅读 · 0 评论 -
ElasticSearch 学习2
倒排索引 (也叫反向索引) 原理分析:https://zhuanlan.zhihu.com/p/33671444 根据属性的值来查找记录 倒排索引文件 映射 FST(Finite State Transducer)有穷状态转换器 写入直接PUT一个JSON的对象,这个对象有多个字段,在插入这些数据到索引的同时,Elasticsearch还为这些字段建立索引 全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。 FST有两个优点: 1)空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间原创 2021-12-31 15:56:06 · 509 阅读 · 0 评论 -
ElasticSearch 学习1
使用场景 Github使用Elasticsearch检索1300亿行的代码 (想不到吧 哈哈哈) 使用模糊搜索功能场景的项目 (这也是为什么用ElasticSearch做搜错存储的原因之一,关系数据对模糊搜索做的不够好) 大部分数据库在提取可用知识方面显得异常无能。它们能够通过时间戳或者精确匹配做过滤,但是它们不能够进行全文搜索,处理同义词和根据相关性给文档打分,不能根据同一份数据生成分析和聚合的结果,最重要的 是,它们在没有大量工作进程(线程)的情况下不能做到对数据的实时处理。 然后,Elasti原创 2021-12-28 19:43:00 · 1081 阅读 · 0 评论