介绍
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
实时分析的分布式搜索引擎。
可以扩展到上百台服务器,处理 PB 级别的结构化或非结构化数据。
基本概念
对应关系

一个文档的数据,通常是 json 格式
{"name" : "John","sex" : "Male","age" : 25,"birthDate": "1990/05/01","about" : "Hello world","interests": [ "sports", "game" ]}
复制代码
名词解析
-
集群(cluster):由一个或多个节点组成, 并通过集群名称与其他集群进行区分
-
节点(node):单个 ElasticSearch 实例
-
索引(index):在 ES 中, 索引是一组文档的集合
-
分片(shard):因为 ES 是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES 自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配, 所以用户基本上不用担心分片的处理细节,一个分片默认最大文档数量是 20 亿.
-
副本(replica):ES 默认为一个索引创建 5 个主分片, 并分别为其创建一个副本分片. 也就是说每个索引都由 5 个主分片成本, 而每个主分片都相应的有一个 copy.
分片及副本的分配是高可用及快速搜索响应的设计核心。主分片与副本都能处理查询请求, 它们的唯一区别在于只有主分片才能处理索引请求。
架构
集群

节点架构图:

本文深入解析Elasticsearch的核心概念,包括分布式架构、分片、索引原理,以及写入、读取和搜索流程。强调了合理设置分片数量的重要性,以及在数据写入和搜索过程中如何优化性能。还提到了避免大聚合、模糊查询和深度分页等注意事项,以及实战中的常见使用策略。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=124027119&d=1&t=3&u=60044da9a54a4ddd8f429396ba64b8bd)
3265

被折叠的 条评论
为什么被折叠?



