es 创建索引 指定id_Elasticsearch创建索引流程

本文详细介绍了Elasticsearch 6.7.0版本中创建索引的过程,包括数据概念、索引结构以及文档写入流程。在创建索引时,会检查索引是否存在,如果不存在且`auto_create_index`设置为true,会自动创建。文档写入涉及主分片和副本分片,通过Translog确保数据一致性。
摘要由CSDN通过智能技术生成

前言

说明:本文章使用的ES版本是:6.7.0

由此可知,在ES启动过程中,创建Node对象(new Node(environment))时,初始化了RestHandler,由其名字可以知道这是用来处理Rest请求的。

在ES源码中,RestHandlerAction如下图:

其中:

admin

cluster:处理集群相关请求

indices:处理索引相关请求

cat:日常查询

document:文档处理

ingest:pipeline处理。pipeline?干嘛的

search:搜索

接下来我们具体的看一下ES是如何创建索引的:org.elasticsearch.rest.action.document.RestIndexAction

数据概念和结构

一个完整的ES集群由以下几个基本元素组成

名称

概念

对应关系型数据库概念

说明

Cluster

集群

一个或多个节点的集合,通过启动时指定名字作为唯一标识,默认cluster-state

node

节点

启动的ES的单个实例,保存数据并具有索引和搜索的能力,通过名字唯一标识,默认node-n

index

索引

Database

具有相似特点的文档的集合,可以对应为关系型数据库中的数据库,通过名字在集群内唯一标识

type

文档类别

Table

索引内部的逻辑分类,可以对应为Mysql中的表,ES 6.x 版本中,一个索引只允许一个type,不再支持多个type。7.x版本中,type将废弃。

document

文档

Row

构成索引的最小单元,属于一个索引的某个类别,从属关系为: Index -> Type -> Document,通过id 在Type 内唯一标识

field

字段

Column

构成文档的单元

mapping

索引映射(约束)

Schema

用来约束文档字段的类型,可以理解为索引内部结构

shard

分片

将索引分为多个块,每块叫做一个分片。索引定义时需要指定分片数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值