1.elasticsearch-head插件界面涉及的具体模块解释:
首先我们可以通过 默认的 地址 : http://localhost:9100/ 访问elasticsearch-head的操作界面可以看到如下图所示的界面风格
(1)如下图所示使用标注圈起来的第一个表示我们可以连接到不同端口的es服务上
(2)head插件会以不同的颜色显示集群健康值:
1)绿色——最健康的状态,代表所有的主分片和副本分片都可用;
2)黄色——所有的主分片可用,但是部分副本分片不可用;
3)红色——部分主分片不可用。(此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好。)
参考官网:http://t.cn/RltLEpN(部分中文集群健康状态博文资料翻译的不够精确,以官网为准)
如果集群状态为红色, Head插件显示:集群健康值red 。则说明:至少一个主分片分配失败。
这将导致一些数据以及索引的某些部分不再可用。
尽管如此, ElasticSearch还是允许我们执行查询,至于是通知用户查询结果可能不完整还是挂起查询,则由应用构建者来决定。
(3)右侧信息按钮点开之后可以看到这里主要是描述当前es服务的具体相关信息 ,如集群的节点信息,集群健康值,当前集群状态等等,我们可以通过它了解当前es集群的一些具体信息
(4)如下图可以对当前集群进行操作,进行信息查询或者对es服务进行关停
假如我们存在多个集群这里会显示各个集群的信息方便我们进行维护
(5)es tab导航栏 是head插件中最核心的 ,与开发,运维,调试有密切的关系
1.概览: 描述的主要是当前es集群的相关信息
2.索引:显示的是集群内的所有索引,
我们可以新建索引看看它显示的具体信息:
可以看到新建一个test索引可以看到主要是显示索引所在存在空间的大小,文档信息等
3.数据浏览:
数据浏览主要是显示所有索引,类型,字段,一个索引下可以存在多个类型,每一个类型下可以有多个字段
可以理解为:
索引---关系型数据库的 库
类型---关系型数据库的表
字段---关系型数据库具体表的字段
当然数据浏览会把所有的索引,类型,字段都显示出来,并不会按照我们所想结构区分开,只有点击了具体的索引或类型才能知道 什么字段对应什么类型 ,什么类型对应具体什么索引。
4.基本查询: es给我们提供了基本查询 通过基本查询不需要我们去编写es的查询语句就可以做一些简单的查询
如上图所示:
(1)搜索后面的下拉框针对的是我们文档也就是具体针对哪个索引进行查询操作
(2)第二行我们可以看到含有两个下拉框,还有+ -号
1). 第一个下拉框可以看到 含有must ,must_not ,should
这是我们最常使用的布尔查询,通过多个条件拼接成子查询语句 ,可以理解为关系型数据库sql中的条件查询,es最常用的有以下四种:
must子句:文档必须匹配must查询条件(类似于关系型数据库的 = )
must_not子句:文档不能匹配该查询条件;(类似于关系型数据库的not ,not in等等)
should子句:文档应该匹配should子句查询的一个或多个;(类似于关系型数据库的 or 多条件)
filter子句:过滤器,文档必须匹配该过滤条件,跟must子句的唯一区别是,filter不影响查询的score;
2).第二个下拉框显示的match_all,_all ,其他文档类型名称
match_all:表示全匹配 类似于查询当前索引的下所有数据
_all :可以看到使用的query_string 的方式进行查询 ,查询到匹配的数据
我们也可以通过组合的方式 (must,must_not,should)实现多条件查询
除了must_all,_all 剩下的都是索引下的具体文档field 我们可以通过指定任意field进行检索
可以合理组合并对es集群相关数据进行查询
5.复合查询(最常用来查询的,需要手写查询语句进行查询)
(1)复合查询界面 第一行输入框
主要是描述我们对哪里的es服务器下什么索引什么类型进行查询
es服务器地址 +索引(可加可不加)+ 类型(可加可不加)
1.1 不加索引时也不能对索引的类型查询 ,表示查询所有的索引所有的数据(默认只显示十条)
1.2 加上索引不加类型 表示的查询索引下所有类型的数据(默认只显示十条)
1.3 加上索引加上类型,表示查询索引下具体类型的所有数据(默认只显示十条)
(2)复合查询界面 第二行输入框 和下拉框
第二行输入框 : 主要对es集群,索引,类型相关操作时输入的api,如_search,_mapping
下拉框 :表示我们用什么方式去请求es集群 :get post put head delete 共五种方式
(3)复合查询界面 第三行输入框
可以输入我们需要进行操作的restful api 相关的语句
点击提交请求可以将请求提交,也可以对语句进行json校验,或者是格式化。