Elasticsearch学习笔记(一)

2019-10-17  本文已影响0人  NealLemon

前置概念

数据

搜索

顺序扫描:通过文字名称也可了解到它的大概搜索方式,即按照顺序扫描的方式查询特定的关键字。

全文搜索:将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这种方式就构成了全文检索的基本思路。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之为索引(主要为倒排索引)。

倒排索引

基础概念
举例

假设我们现在有两条数据

1.你是产品经理
2.我是技术经理

倒排索引建立后如图:

es-1.png

基本概念

Elasticsearch:是一个分布式、可扩展、近实时的搜索与数据分析引擎。内部使用 Lucene 做索引与搜索,通过对 Lucene 的封装,隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。

特点

与数据库对比

ES 关系型数据库
Index
type
document

分片(Shards)

单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。

ES 默认为一个索引创建 5 个主分片, 并分别为每个分片创建一个副本。

ES 通过分片的功能使得索引在规模上和性能上都得到提升,每个分片都是 Lucene 中的一个索引文件,每个分片必须有一个主分片和零到多个副本。

副本(Replicas)

任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。

es-2.png
上一篇下一篇

猜你喜欢

热点阅读