【数据库系列】Elasticsearch基本操作

2022-08-13 15:35:06 浏览数 (1)

一 前言

【数据库系列】上篇我们讲到如何Elasticsearch是什么以及如何搭建,那么本篇我们来讲讲Elasticsearch的基本操作。

我在刚开始工作时,公司就是用的Elasticsearch做数仓,当时在学校只学过Mysql,对于Elasticsearch完全没有一点概念,造数全靠开发写好的脚本,总之当时对这一块就很懵逼。

然后在后面对MySql逐渐熟练之后,再重新学习Elasticsearch,将学习MySql的经验套用过来,才发现可以这么好的理解

代码语言:javascript复制
Elasticsearch -> Indeces(索引) -> Types(类型) -> Documents(文档) -> Fields(属性)  
关系型数据库 -> Databases(库) -> Tables(表) -> Rows(行) -> Columns(列)

二 索引操作

1、API检测集群是否健康

方法:get

请求:http://127.0.0.1:9200/_cat/health?v

响应:

2、获取集群的节点列表

方法:get

请求:http://127.0.0.1:9200/_cat/nodes?v

响应:

3、创建索引

方法:put

请求:http://127.0.0.1:9200/person

注意:默认情况下,创建的索引分片数量是 5 个,副本数量是 1 个。可以通过如下方式修改默认值:number_of_shards 分片 number_of_replicas 备份

代码语言:javascript复制
{  "settings": {    "number_of_shards": 6,     "number_of_replicas": 2   }}

响应:

4、查看所有索引

方法:get

请求:http://127.0.0.1:9200/_cat/indices?v

响应:

说明:这里请求路径中的_cat 表示查看的意思,indices 表示索引,所以整体含义就是查看当前服务器中的所有索引。

响应字段

说明

health

green(集群完整) yellow(单点正常、集群不完整) red(单点不正常)

status

是否能使用

index

索引名

uuid

索引统一编号

pri

主节点几个

rep

从节点几个

docs.count

文档数

docs.deleted

文档被删了多少

store.size

整体占空间大小

pri.store.size

主节点占空间

5、查看单个索引

方法:get

请求:http://127.0.0.1:9200/person

响应:

6、删除索引

方法:delete

请求:http://127.0.0.1:9200/person

响应:

三 文档操作

文档:即索引库中某个类型下的数据,类比做数据库中的每一行数据。

1、创建文档

方法:post

请求:http://127.0.0.1:9200/person/_doc/1

代码语言:javascript复制
{    "name":"张艺兴",    "age":30}

响应:

说明:此处发送请求的方式必须为 post,不能是 put,否则会发生错误。这里是因为put是一个幂等的请求,post生成的id是随机的。使用JMeter创建文档时注意设置编码:utf-8,否则中文会变成???

2、查看单个文档

方法:get

请求:http://127.0.0.1:9200/person/_doc/1

响应:

说明:查看文档时,需要指明文档的唯一性标识,类似于 MySQL 中数据的主键查询。

3、查看多个文档

方法:get

请求:http://127.0.0.1:9200/mapping/_search

响应:

4、修改文档

方法:post

请求:http://127.0.0.1:9200/person/_doc/1

代码语言:javascript复制
{  "name":"张艺兴超级帅!",  "age":300}

响应:

5、删除文档

方法:delete

请求:http://127.0.0.1:9200/person/_doc/1

响应:

四 总结

我发现学新技术没以前这么坎坷了,可以很快的上手悟出来,这个因为在学习其它技术过程中提升了自己的总结能力,形成了一个正向循环的过程,这种感觉太棒了!

下篇我们来讲讲如何用Java来操作Elasticsearch~

0 人点赞