Elasticsearch基础使用教程(一)

目录

  • 一、Elasticsearch 是什么?
  • 二、Elasticsearch 基本概念
    • 1.Index(索引)
    • 2.Type(类型)
    • 3.Document(文档)
    • 4.Field(字段)
    • 5.Mapping(映射)
    • 6.Node(节点)
    • 7.Cluster(集群)
    • 8.Shard(分片)
  • 三、安装
  • 四、使用指南
    • 1.集群健康检查
    • 2.查看集群节点
    • 3.查看全部索引
    • 4.创建索引


一、Elasticsearch 是什么?

Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论是结构化还是非结构化文本、数值数据还是地理空间数据,Elasticsearch 都可以以支持快速搜索的方式有效地存储和索引它。Elasticsearch 可以远远超越简单的数据检索和聚合信息,以发现数据中的趋势和模式。随着数据和查询量的增长,Elasticsearch 的分布式特性使部署能够随之无缝增长。

二、Elasticsearch 基本概念

在详细介绍 Elasticsearch 基本概念之前,我们先来将 Elasticsearch 基本概念与关系数据库的基本概念做个类比:

关系数据库 Elasticsearch
Database(数据库) Index(索引)
Table(表) Type(索引)
Row(行) Document(文档)
Column(列) Field(字段)
表结构 Mapping(映射)

1.Index(索引)

一个索引是一个文档的集合。每个索引有唯一的名字,通过这个名字来操作它。

2.Type(类型)

指在一个索引中,可以索引不同类型的文档,如用户数据、订单数据、商品数据等。在 ES 6.x 中,一个索引中可以创建多个类型;但从 ES 7.x 开始,一个索引中只能创建一个类型,如果我们不指定类型名称,ES 会使用默认的类型名称_doc。

3.Document(文档)

被索引的一条数据,索引的基本信息单元,以JSON格式来表示。

4.Field(字段)

可以简单理解成 JSON 中的各个字段。

5.Mapping(映射)

映射用来定义文档中每个字段的属性,例如类型、分词等其它规则约束。

6.Node(节点)

存储集群的数据,参与集群的索引和搜索功能。服务上运行的一个 ES 实例就是一个节点, 一台服务器上可以有多个 ES 节点。

7.Cluster(集群)

将多个运行 ES 的服务器节点组织在一起就是 ES 集群,如果只有一个节点也算是集群。每个集群都有一个名称(cluster name),作为其唯一标识,默认为“elasticsearch”。

8.Shard(分片)

在创建一个索引时可以指定分成多少个分片来存储。每个分片本身也是一个功能完善且独立的“索引”,可以被放置在集群的任意节点上。分片的好处:允许我们水平切分/扩展容量,可在多个分片上进行分布式的、并行的操作,提高系统的性能和吞吐量。

三、安装

见 CentOS7和8下安装Elasticsearch。

四、使用指南

1.集群健康检查

请求:

curl -X GET "192.168.1.38:9200/_cat/health?v"

响应:

C:\>curl -X GET "192.168.1.38:9200/_cat/health?v"
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1646814855 08:34:15  elasticsearch yellow          1         1      5   5    0    0        1             0                  -                 83.3%

2.查看集群节点

请求:

curl -X GET "192.168.1.38:9200/_cat/nodes?v"

响应:

C:\>curl -X GET "192.168.1.38:9200/_cat/nodes?v"
ip           heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
192.168.1.38           46          92   0    0.17    0.14     0.10 cdfhilmrstw *      localhost.localdomain

3.查看全部索引

请求:

curl -X GET "192.168.1.38:9200/_cat/indices?v"

响应:

C:\>curl -X GET "192.168.1.38:9200/_cat/indices?v"
health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases xKlc3jc5QZO_ZQ7i0dyOjg   1   0         41           36     42.3mb         42.3mb
yellow open   lili_logs        5jpabTJgTEm_f0uwVoMzQA   1   1         55            0     98.1kb         98.1kb
green  open   lili_goods       nx9i_dg8TrCpuoqa7SFDdA   3   0        726            1      1.2mb          1.2mb

4.创建索引

请求:

curl -X PUT "192.168.1.38:9200/order?pretty"

响应:

C:\>curl -X PUT "192.168.1.38:9200/order?pretty"
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "order"
}

你可能感兴趣的:(高效运维,elasticsearch)