Elasticsearch Head Chrome浏览器插件安装、Postman和IDEA内置工具的使用

    在完成安装Elasticsearch v7.3 之后,在开始学习Elasticsearch 基本概念和CRUD 实际操作之前,建议先安装2个小的、方便使用的快捷工具。

  • 一个是本文重点推荐的Elasticsearch Head Chrome插件,可以认为是学习和使用Elasticsearch搜索引擎的必备利器。
  • 另一个是Postman 工具,Postman是一款功能超级强大的工具,用于发送 HTTP 请求,支持GET/PUT/POST/DELETE方法。在开发微服务项目的时候,调试API接口,也经常使用这一工具。
  • 除了可以使用Postman 第三方工具、Kibana Dev Tools之外,还可以使用IntelliJ IDEA中自带的HTTP Request工具来操作Elasticsearch。这个工具的优点是所有调试脚本可以和Java项目源码保存在一起,方便重复使用。

一、Elasticsearch Head Chrome浏览器插件安装和使用

    ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。

关于Elasticsearch Head 插件的安装,可以访问github:

https://github.com/mobz/elasticsearch-head

针对新版的Elasticsearch 7.x,建议最简便的安装是:安装Elasticsearch head chrome 插件。
在这里插入图片描述
下面是Elasticsearch head chrome 插件的完整安装过程。

1、Elasticsearch Head 插件下载

https://download.csdn.net/download/vbnetfun/11574864

elasticsearch-head-chrome插件,谷歌扩展程序,导入即能使用,不需要任何其他配置,方便快捷。

2、下载完成之后,解压缩
在这里插入图片描述

3、 打开Chrome浏览器的扩展程序窗口

如下图所示:
在这里插入图片描述

4、点击【加载已解压的扩展程序】按钮,选择刚刚解压缩的elasticsearch-head-chrome 插件目录
在这里插入图片描述
在这里插入图片描述
5、使用Elasticsearch Head Chrome 插件

点击该插件图标,默认自动打开 http://localhost:9200/。可以查看Elasticsearch 集群中的索引信息
在这里插入图片描述
上图为Elasticsearch 集群概览页面效果,下面简单进行说明。

(1)集群健康值

Elasticsearch cluster 中其实有专门的衡量索引健康状况的标志,分为三个等级:

green,绿色。这代表所有的主分片和副本分片都已分配。你的集群是 100% 可用的。

yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果更多的分片消失,你就会丢数据了。所以可把 yellow 想象成一个需要及时调查的警告。

red,红色。至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。

如果只有一台主机的话,其实索引的健康状况也是 yellow,所以上图显示为yellow。因为一台主机,集群没有其他的主机可以replica 副本,所以说,这就是一个不健康的状态,因此集群也是十分有必要的。

(2)集群中的索引(index)

表示在Elasticsearch已经创建的索引(index),包含了索引的名称、索引的大小(size)、索引的数据量(docs),并且通过【信息】和【动作】可以查看索引信息或者给索引建别名。
在这里插入图片描述
(3)Elasticsearch节点

上图中的带有感叹号的Unassigned表示未分配的节点,带有星号的表示是主节点,其节点名称叫:THINKPAD-T460P,并能查看节点信息。

(4)索引分片

Elasticsearch数据就存储在这些分片中。
在这里插入图片描述
(5)查看Elasticsearch相关的信息和刷新head插件

如查看Elasticsearch版本信息,如下图:
在这里插入图片描述
Elasticsearch cluster 集群信息。
在这里插入图片描述
(6)索引页面

索引页面能看到当前Elasticsearch中已经创建的索引,这里的索引类似于传统关系型数据库中的一张张表,并且可以在该页面上新建索引。
在这里插入图片描述
(7)数据浏览页面

数据浏览页面能查看所有索引分片的数据。
在这里插入图片描述
在这里插入图片描述
(8)基本查询和复合查询页面

这两个页面做数据检索,基本查询页面仅提供简单的查询并不能修改数据,复合查询页面提供编写RESTful接口风格的请求,来对Elasticsearch中的数据进行各种增删改查等操作请求,其页面分别如下:

基本查询页面

基本查询页面可以对数据进行简单的查询。

查询关键字有三种:分别是:must,should,must_not。

must子句:文档必须匹配must查询条件,相当于“=”;

should子句:文档应该匹配should子句查询的一个或多个;

must_not子句:文档不能匹配该查询条件,相当于“!=”;
在这里插入图片描述
复合查询页面

复合查询页面提供编写RESTful接口风格的请求,使用json进行复杂的查询,也可发送put请求新增及更新索引,使用delete请求删除索引等等来对Elasticsearch中的数据或者索引进行各种增删改查等操作请求。
在这里插入图片描述
Head插件中编写json发送请求比较复杂和不方便,可以使用postman或者Kibana模块提供的API等工具进行请求的发送,来实现对ElasticSearch的数据和索引进行增删改查。

二、Postman的使用

在form元素的语法中,EncType表明提交数据的格式。用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。

例如: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data:窗体数据被编码为一条消息,页面上的每个控件对应消息中的一个部分,这个一般文件上传时用。

text/plain:窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

1、form-data

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息。

由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
在这里插入图片描述
在这里插入图片描述

2、x-www-form-urlencoded

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url。
在这里插入图片描述
在这里插入图片描述

3、raw

可以上传任意格式的文本,可以上传text、json、xml、html等。
在这里插入图片描述
4、binary

相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。

三、使用IntelliJ IDEA中HTTP Request工具轻松操作Elasticsearch 7.x

除了可以使用Postman 第三方工具、Kibana Dev Tools之外,还可以使用IntelliJ IDEA中自带的HTTP Request工具来操作Elasticsearch。这个工具的优点是所有调试脚本可以和Java项目源码保存在一起,方便重复使用。

在IntelliJ IDEA任意项目中,右键菜单 - New - New HTTP Request。弹出窗口中,输入http文件名,比如输入 es,点击 OK,文件就创建好并自动打开了。
在这里插入图片描述
创建的es.http文件,如下图所示:
在这里插入图片描述
打开上述es.http文件,创建一个新索引people,并执行。

注意:
需要在Content-Type: application/json 下面空一行!
另外,请求之间使用 ### (三个#号)将请求分隔开!

在这里插入图片描述
新增文档记录:
在这里插入图片描述
响应结果:
在这里插入图片描述
获取刚刚新增文档:
GET http://localhost:9200/people/_doc/1
在这里插入图片描述
测试ik_smart分词器的效果:
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值