ELK Elasticsearch 笔记(一)概述

本文介绍了Elasticsearch的核心概念,包括Cluster、Node、Shards、Replicas、Recovery等,详细阐述了其基本架构,如RESTful接口、索引结构。此外,还提到了Elasticsearch的部分插件和索引构建流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Elasticsearch是什么

Elasticsearch是由Shay Banon发起的一个开源搜索服务项目,并于2010年2月开源。Elasticsearch不仅仅能提供全文检索功能,它还能提供高效的分布式数据存储、索引、搜索,能完成对大数据的自动分片、自动负载索引,并提供RESTful Web的风格接口。

 

二、Elasticsearch中涉及到的相关概念

  1. Cluster和Node ,Cluster是对外提供搜索服务器的集群,组成这个Cluster的各个节点就做Node。借点Node是Elasticsearch运行的实例。
  2. Shards : Elasticsearch将一个完整的索引分成若干部分,每个部分就是一个Shards。每个Shard实际上就是一个基于Lucene的索引。Shards存储在相同或不同的Node上; Shards是数量一般在索引创建时指定,且索引创建后不能更改(其初始配置也是可以修改的)。检索时,Elasticsearch会将查询发送到不同的Shards上并将返回结果合并,这个过程对用户来说是透明的。
  3. Replicas :是索引的冗余备份,可用户防止数据丢失货用来做负载均衡。一般地,Elasticsearch会自动对搜索请求进行负载均衡。
  4. Recovery:在有借点加入或退出集群Cluster或故障节点重新启动时,Elasticsearch会的根据机器负载情况,对索引分片Shards进行重新分配。
  5. River:是一个运行在Elasticsearch集群内部的插件,主要用来从外部获取异构数据,然后在Elasticsearch里创建索引。常见的有couchDbriver、RabbitMQriver Plugin、Twitter river Plugin、Wikipedia river plugin、MongoDB river plugin、JDBC river Plugin等
  6. Getway:是Elasticsearch索引数据快照的存储方式,当Elasticsearch集群关闭再重新启动时,就会从Getway中读取索引数据快照。
  7. Discovery.zen : 代表Elasticsearch的字段发现节点机制。Zen用来实现节点自动发现和Master节点选举,Master节点负责处理节点的加入和退出以及分片Shard的重新分配。Master不是固定不变的,当前Master故障后,其他节点自动选举产生新的Master。只有当节点准备就绪后,该节点才会被通知可以被使用。
  8. Transport:代表内部节点或集群与客户端的交互方式,默认内部是使用TCP协议进行交互,同时它支持HTTP协议(JSON格式)、Thrift、Servlet、Memcached、ZeroMQ等传输协议。
  9. Index、Type、Document 、Field: Index是存储索引的地方,可以快速高效地对索引中的数据进行全文索引;类似于RDBMS数据库中的Database; 在Index下一般会有多个Type,Type类似于database中的Table,用来存放具体数据;Document是类似关系数据库中的一行数据,在一个Type里的每一Document都有一个唯一的ID作为区分,这里与RDBMS不同的是,Document 不需要有固定 数据,不同文档可以具有不同的字段集合;Field类似于数据库中的某一列,是Elasticsearch存储的最小单位。
  10. Mapping : 定义索引下Type的字段处理规则,如索引如何建立、索引数据类型、是够保存原始索引JSON文档、是否压缩原始JSON文档、是否需要分词处理、如何进行分词处理等。一般地,一个索引文件下能存储不同映像(Mapping)的类型文件(Types)。Mapping也可以通过语句删除、此时对应的类型文件下的所有数据也会被删除。

三、Elasticsearch 的部分插件

  • Analysis-ansj              ansj中文分词器
  • Analysis-ik                  IK中文分词器
  • Analysis-mmseg         mmseg中文分词
  • Analysis-pingyin         拼音分词器
  • Analysis-string2int      字符串转整形工具,可用在Facets、Aggregation功能上。
  • Bigdesk                       监控Elasticsearch状态
  • Head                           对Elasticsearch进行多种操作的客户端工具
  • Inquisitor                     调试查询
  • Kopf                            网络管理
  • Marvel                         图形化监控客户端

四、Elasticsearch 基本架构

      RESTful 接口的URL的格式是:http://localhost:9200/<index>/<type>/[id]   

      其中,index 、type是必须提供的(index可以理解为数据库;type可以理解为表);id是可选的(相当于数据库表中的主键,是唯一的)增删改分别对应HTTP请求的PUT、GET、 DELETE。对于PUT来说,调用时如果数据不存在,就创建;如果数据一存在、就更新。

五、Elasticsearch 索引及其构建

简单来说,在Elasticsearch中建立索引的简要流程如下:

  1. 准备待处理的文档。一般而言,文档准备考研采用JSON格式,也可以使用第三方的工具协助进行处理。
  2. 将准备好的数据提交文档给Elasticsearch。
  3. 完成索引。
  4. 返回索引结果。http://localhost:9200/index名称/type名称/文档唯一标识

使用Head新建索引

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值