第一章 Elastic入门基础概念以及基本操作

本文介绍了Elasticsearch的基本概念,包括索引、文档、集群、节点、分片和段,并概述了基本操作如CRUD、API及批量操作。Elasticsearch作为面向文档的搜索引擎,通过分片和副本确保数据水平扩展和高可用性。理解这些基础对于有效使用ES至关重要。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

这一节主要讲述ES的一些基本概念,例如:索引、文档、集群、节点、分片、段、副本等以及,ES的基本操作包括CRUD和基础API使用

一、基本概念

索引(index)

索引(index)在ES中可以抽象的理解一张表,一类数据的聚集,它通过Mapping来定义数据结构,也就是数据是怎么组织在一起的,这里包括每个字段的类型、如何分词、是否要搜索、是否要聚合、是否要排序等等,可以笼统的理解为就是表结构,而Settings这里主要定义数据要分布到多少个分片上,要多少个副本,以及数据被最短可搜索到的时间等等。

文档(doc)

ES是面向文档的,也是可以被所搜的最小单位在ES里,可以理解为就是一条数据,在ES中数据是以JSON格式保存的,一条文档包含信息有元数据比如:_index(索引名)、_id(文档ID,可以自己指定也可以自动生成)、_version(版本号)、_source(原始数据也就是真正的数据在这里显示)等等

集群(cluster)

ES本身就具有分布式、高可用性(允许节点有丢失且不会丢失数据)、可扩展性(将数据分布到所有节点上去)
不同的集群可以通过集群名字来区分

节点(node)

节点就是运行服务器上一个ES实例本身就是一个JAVA进程,可以通过配置文件形成不同功能的节点,每个节点都有不同名字来区分,每个节点启动后都分配一个UID,保存data目录下。
master:默认每个节点都是 node.master:false 来禁止,维护一个集群正常运行的所有必要信息:所有的节点信息、索引的mapping和setting信息、分片的路由信息,只有它才能修改集群的状态。
data:数据节点,默认就是,通过 node.data:false来禁止,用来保存数据,在数据扩展上起到了至关重要的作用
coordinating :协调节点,负责接收Client的请求,并将请求发到合适的节点上去,最终再把数据汇集到一起,每个节点默认都起到了coordinating的职责,其他节点都是false,可称为专属协调节点
ingest:数据摄取处理节点,每个节点默认都是,通过node.ingest:false来禁止。

分片(shard)

分片有 primary shard和replica shard
主分片(primary shard),主要解决数据水平扩展的问题。通过主分片可以将数据分布到集群内的所有节点上,数据可以并发的读写到每个分片上,提高写入速度,一个分片就是一个运行的Lucene的实例。这里注意的是,主分片的数量一旦设定后,就不可更改,除非通过reindex操作。
副本分片(replica shard)用以解决数据高可用的问题。
这里注意的事分片数过小,导致后续数据无法通过增加节点实现水平扩展,单个分片数据量过大导致数据重新分配耗时,分片数量过,会影响搜索结果的相关性打分,影响统计结果的准确性,单个节点上过多分片,会导致资源浪费(master会记录每个分片的信息),同时影响性能,
因此分片的大小数量设定是门学问,后续集群容量规划详讲。

段(segment)

默认ES会1秒进行一次refresh,形成一个segment,然后数据就可以被搜索到了,segment是shard上最小单位,生产环境会严格限制segment的数量,ES也会自动对segment进行forcemerge操作。

二、基本操作

CRUD

#文档的CURD
//create document 指定ID,如果ID已经存在,报错
PUT user/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值