概览
<h2>一、什么是 Elasticsearch</h2>
<p>Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是适用于数据采集、充实、存储、分析和可视化的一组开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。</p>
<h2>二、Elasticsearch分布式架构图</h2>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/afabc41df40c0b812b8879ce638a2ed5?showdoc=.jpg" alt="" /></p>
<h2>三、基本概念</h2>
<p>不同Elasticsearch版本的概念有区别,因为平台使用的Elasticsearch版本是6版本,因此就以6版本来介绍</p>
<blockquote>
<p>Index(索引)</p>
</blockquote>
<p>ES中的索引类似于传统数据库中的数据库,ES中数据存储于索引中,索引是具有类似特性的文档的集合。</p>
<blockquote>
<p>Type(类型)</p>
</blockquote>
<p>类型类似于传统库中的表,类型是索引内部的逻辑分区,类型就是为那些拥有相同的域的文档做的预定义。</p>
<blockquote>
<p>document(文档)</p>
</blockquote>
<p>文档是Lucene索引和搜索的原子单位,它是包含了一个或多个域的容器,基于JSON格式进行表示。</p>
<blockquote>
<p>mapping(映射)</p>
</blockquote>
<p>字段的数据类型、属性、是否索引、是否存储等特性</p>
<blockquote>
<p>shard(分片),replica(副本)</p>
</blockquote>
<p>将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,这每一个物理的Lucene索引称为一个分片(shard)。</p>
<p>每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储。创建索引时,用户可指定其分片的数量,默认数量为5个。</p>
<p>Shard有两种类型:primary和replica,即主shard及副本shard。</p>
<p>Primary shard用于文档存储,每个新的索引会自动创建5个Primary shard,当然此数量可在索引创建之前通过配置自行定义,不过,一旦创建完成,其Primary shard的数量将不可更改。</p>
<p>Replica shard是Primary Shard的副本,用于冗余数据及提高搜索性能。</p>
<p>每个Primary shard默认配置了一个Replica shard,但也可以配置多个,且其数量可动态更改。ES会根据需要自动增加或减少这些Replica shard的数量。</p>
<p>ES集群可由多个节点组成,各Shard分布式地存储于这些节点上。</p>
<p>ES可自动在节点间按需要移动shard,例如增加节点或节点故障时。简而言之,分片实现了集群的分布式存储,而副本实现了其分布式处理及冗余功能。</p>
<h2>三、Elasticsearch的用途是什么</h2>
<p>Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:</p>
<ul>
<li>应用程序搜索</li>
<li>网站搜索</li>
<li>企业搜索</li>
<li>日志处理和分析</li>
<li>基础设施指标和容器监测</li>
<li>应用程序性能监测</li>
<li>地理空间数据分析和可视化</li>
<li>安全分析</li>
<li>业务分析</li>
</ul>
<h2>四、有哪些公司在使用Elasticsearch</h2>
<ul>
<li>携程</li>
<li>滴滴</li>
<li>今日头条</li>
<li>饿了么</li>
<li>360安全</li>
<li>小米</li>
<li>vivo</li>
<li>...</li>
</ul>
<p>参考:<a href="https://www.cnblogs.com/rickie/p/11648622.html" title="Elasticsearch 在业界的大量应用案例">Elasticsearch 在业界的大量应用案例</a></p>