Elasticsearch 下篇

第4章:Elasticsearch进阶

一、核心概念

1. 索引(Index)

万物皆索引,一切设定都是为了提高搜索的性能
在一个集群中,可以定义任意索引

2. 类型(Type)

不再支持

3. 文档(Document)

一个文档是一个可被索引的基础信息单元,也就是一条数据

4. 字段(Field)

相当于数据表的字段

5. 映射(Mapping)

类似表结构信息

6. 分片(Shards)

允许数据放在不同的节点上统一提供服务。
.
可以理解成分表存储,比如一个索引存放的数据过大,可以把这个索引拆分成两份,分别存储起来。
分片很重要,原因:

  1. 允许水平分割 / 拓展你的内容容量。
  2. 允许你在分片之上进行分布式的、并行的操作,进而提升吞吐量

7. 副本(Replicas)

es允许你创建分片的拷贝,这些拷贝叫做复制分片(副本)

8. 分配(Allocation)

将分片分配给某个节点的过程,包括分配主分片或者副本。这个过程是由master节点完成的。

二、系统架构

Elasticsearch 下篇_第1张图片

三. 分布式集群

1. 单节点集群

:整个集群中就一个节点
分配主分片为3,一份副本(每个主分片拥有一个副本分片),共6个

{
    "settings":{
        "number_of_shards":3,
        "number_of_replicas":1
    }
}

P37操作完还是yello是因为磁盘用的空间超过了百分之85,es自动将副本节点不分配
可以用,这个解除磁盘空间限制↓
PUT http://127.0.0.1:1001/_cluster/settings

{
    "transient":{
        "cluster.routing.allocation.disk.threshold_enabled":false
    }
}

2. 路由计算 & 分片控制

保存数据:将数据路由到分片上:
Elasticsearch 下篇_第2张图片
查询数据,采用轮询

Elasticsearch 下篇_第3张图片

3. 数据写流程

Elasticsearch 下篇_第4张图片

4. 数据读流程

Elasticsearch 下篇_第5张图片

5. 更新流程 & 批量操作流程

更新流程:
Elasticsearch 下篇_第6张图片

6. 分片原理

0. 简述

因为索引数据量太多了以后会影响效率,所以吧一个大的索引拆分成几个部分,一个部分称之为一个分片,所有分片组在一块就是完整索引

每个分片是ES中最小的工作单元

1. 倒排索引

要搜索的时候会将搜索的内容进行分词处理,然后匹配关键字,而不是根据主键进行检索索引,顾名思义就是跟传统索引相反

7. 文档搜索

Elasticsearch 下篇_第7张图片
Elasticsearch 下篇_第8张图片

8. 文档分析

Elasticsearch 下篇_第9张图片

你可能感兴趣的:(elasticsearch,java,大数据)