目录
一、Elasticsearch 是什么?
Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论是结构化还是非结构化文本、数值数据还是地理空间数据,Elasticsearch 都可以以支持快速搜索的方式有效地存储和索引它。Elasticsearch 可以远远超越简单的数据检索和聚合信息,以发现数据中的趋势和模式。随着数据和查询量的增长,Elasticsearch 的分布式特性使部署能够随之无缝增长。
二、Elasticsearch 基本概念
在详细介绍 Elasticsearch 基本概念之前,我们先来将 Elasticsearch 基本概念与关系数据库的基本概念做个类比:
关系数据库ElasticsearchDatabase(数据库)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 11550010 - 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 469200.170.140.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 10413642.3mb 42.3mb
yellow open lili_logs 5jpabTJgTEm_f0uwVoMzQA 1155098.1kb 98.1kb
green open lili_goods nx9i_dg8TrCpuoqa7SFDdA 3072611.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"}
版权归原作者 奔跑吧邓邓子 所有, 如有侵权,请联系我们删除。