
ElasticSearch
水墨之白
悟已往之不谏,知来者之可追!
展开
-
ElasticSearch学习笔记(九)——Elasticsearch查询原理分析
一、前言ES的查询分为两个阶段:查询取回首先,一个 index 的数据会被分为多片,所以一个 document ,只能存在于一个 shard 中,如何确定doc的位置呢?数据路由算法:shard = hash(routing) % number_of_primary_shardsrouting 可以是_id(默认)或者由我们自定义传入。手动指定在发送请求的时候,手...原创 2020-01-21 15:31:56 · 688 阅读 · 0 评论 -
ElasticSearch学习笔记(一)—ElasticSearch介绍
一、简介Elasticsearch是一个实时分布式搜索和分析引擎 ,它用于全文搜索、 结构化搜索、 分析Elasticsearch基于Apache Lucene™Lucene可以被认为是迄今为止最先进、 性能最好的、 功能最全的搜索引擎库分布式的实时文件存储, 每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器, 处理PB级结构化或非结构化数据应用简单的 R...原创 2019-08-21 00:25:43 · 361 阅读 · 0 评论 -
ElasticSearch学习笔记(二)—ElasticSearch核心概念和倒排索引
一、倒排索引维基百科给出的定义:倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。有两种不同的反向索引形式:一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。一个单词的水平反向索引(或者完全反向索引)又包...原创 2019-08-21 14:58:38 · 487 阅读 · 0 评论 -
ElasticSearch学习笔记(三)—ElasticSearch分布式与集群
一、引言Elasticsearch可以扩展到上百(甚至上千) 的服务器来处理PB级的数据 ,Elasticsearch为分布式而生, 而且它的设计隐藏了分布式本身的复杂性 :将你的文档分区到不同的容器或者分片(shards)中, 它们可以存在于一个或多个节点中。将分片均匀的分配到各个节点, 对索引和搜索做负载均衡。冗余每一个分片, 防止硬件故障造成的数据丢失。将集群中任意一个节点上的请...原创 2019-09-04 19:06:05 · 373 阅读 · 1 评论 -
ElasticSearch学习笔记(四)—ElasticSearch分布式一致性原理
一、写一致性ES写入流程为先写入Primary,再并发写入Replica,最后应答客户端检查Active的Shard数写入Primary并发的向所有Replicate发起写入请求等所有Replicate返回或者失败后,返回给Client早期的ES版本中允许主从副本间进行异步复制,将Relica设置成replication=async(异步),这样Client就不需要等待ES副本是否...原创 2019-09-10 17:16:43 · 691 阅读 · 0 评论 -
Elasticsearch学习笔记(五)—Elasticsearch写入流程解读
假设一个写入请求发到node1node1接收到请求,根据_routing或_id来计算数据该写到哪个分片上,并且根据集群状态中的信息找到该分片的主分片在哪个节点上。这里发送到node3node3接收到请求的时候,开始往主分片里写数据主分片写入完成后,转发请求到该分片的副本分片所在节点(node1、node2),并等待返回结果副本分片接收到请求后,开始写入,写入成功后会返回结果给主分片节点...原创 2019-10-25 19:40:30 · 522 阅读 · 0 评论 -
Elasticsearch学习笔记(六)—Elasticsearch文档及其CRUD操作
文档最顶层结构或者根对象(root object)序列化成的JSON数据(以唯一ID标识并存储于Elasticsearch中),可以认为对象(object)和文档(document)是等价相通的。文档元数据节点说明_index文档存储的地方_type文档代表的对象的类_id文档的唯一标识_index索引(index)类似于关系型数据库里的“数据...原创 2019-10-29 19:50:56 · 301 阅读 · 0 评论 -
Elasticsearch学习笔记(七)—Elasticsearch分析器与映射
一、映射介绍数据库中的表,我们一般在DDL语句中为每个字段指定存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱类比数据库,ES的索引字段也需要为其指定类型,这种方式在ES称为映射(mapping)映射是定义一个文档及其包含的字段如何存储和索引的过程,可以从以下几个方面理解:将哪些字符串字段视为全文字段哪些字段包含数字,...原创 2019-11-09 00:12:54 · 374 阅读 · 0 评论 -
Elasticsearch学习笔记(八)—Elasticsearch选主流程
一、Elasticsearch中Master的作用Elasticsearch的Master最重要的作用就是维护集群状态集群状态中包括以下信息:集群层面的设置集群内有哪些节点各索引的设置,映射,分析器和别名索引内各分片所在的节点位置上述的集群状态信息,由Master节点进行维护,并且同步到集群中所有节点。也就是说集群中的任何节点都存储着集群状态信息,但只有Master能够改变信息...原创 2019-11-11 17:46:43 · 796 阅读 · 0 评论