一.es-head插件是什么?

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。              -----百度百科

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

简而言之:ElasticSearch-head就是一个针对es可视化操作的插件。

二.es-head界面的介绍

安装完后,默认head插件的web端口为9100,ElasticSearch服务的端口为9200,使用浏览器访问head地址,如http://IP地址:9100/,

elasticsearch是以RESTFul api风格来命名自己的api的。api的基本格式,http://<ip地址>:<port端口号>/<索引>/<类型>/<文档id>
  注意:api的url里面的元素基本都是elasticsearch的基本概念都是名词,elasticsearch的动作都是常用http动词get/put/post/delete来决定的。

es head 插件下载 ess插件百科_数据

2.0  主界面各个功能

es head 插件下载 ess插件百科_Elastic_02

图中标红的红色区域1集群健康值。Elasticsearch 中其实有专门的衡量索引健康状况的标志,分为三个等级:

  • green,绿色。这代表所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
  • yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果更多的分片消失,你就会丢数据了。所以可把 yellow 想象成一个需要及时调查的警告。
  • red,红色。至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常

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

图中标红的红色区域2: 表示在Elasticsearch已经创建的索引(index)。包含了索引的名称、索引的大小(size)、索引的数据量(docs),并且通过【信息】和【动作】可以查看索引信息或者给索引建别名。

图中标红的红色区域3: 表示Elasticsearch节点。上图中的带有感叹号的Unassigned表示未分配的节点带有星号的表示是主节点,其节点名称叫:Hu9Suoy,并能查看节点信息。

图中标红的红色区域4 :表示索引分片,Elasticsearch数据就存储在这些分片中。每一个方框就是elasticsearch的分片粗线方框是es的主分片,主分片旁边细线方框是es的备份分片,对应关系,粗线方框0的备份分片是细线方框0。依次类推。

图中标红的红色区域5 :

查看Elasticsearch相关的信息和刷新head插件。如查看Elasticsearch版本信息,如下图:

es head 插件下载 ess插件百科_Elastic_03

 

2.1 新建索引

索引的创建分为非结构化创建("mappings": { }的json格式值是空的)、结构化创建("mappings": { }的json格式值非空的)。

2.1.1   非结构化创建

es head 插件下载 ess插件百科_elasticsearch_04

查看结果:

es head 插件下载 ess插件百科_数据_05

创建mapping:

es head 插件下载 ess插件百科_数据_06

2.2.2 创建结构化索引,操作如下所示

{
  "settings": {
    "number_of_shards": 6,
    "number_of_replicas": 1
  },
  "mappings": {
    "man": {
      "properties": {
        "name": {
          "type": "string"
        },
        "age": {
          "type": "integer"
        }
      }
    }
  }
}

 

es head 插件下载 ess插件百科_elasticsearch_07

查看结果:

es head 插件下载 ess插件百科_es head 插件下载_08

2.2  新增数据

插入数据使用POST或者PUT方法,只是POST方法为自动生成id,而PUT方法需要指明id,如下图实例:

POST方法

{
"name":“beijing",
"age":14
}

es head 插件下载 ess插件百科_数据_09

es head 插件下载 ess插件百科_es head 插件下载_10

put方法:

es head 插件下载 ess插件百科_elasticsearch_11

结果数据:

es head 插件下载 ess插件百科_Elastic_12

 2.3  修改数据

{
  "doc": {
    "age": 15555
  }
}

es head 插件下载 ess插件百科_elasticsearch_13

结果:

es head 插件下载 ess插件百科_数据_14

 2.4 删除数据

es head 插件下载 ess插件百科_elasticsearch_15

 

查看结果:

es head 插件下载 ess插件百科_数据_16

 2.5 查询数据

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "beijing"
          }
        }
      ]
    }
  },
  "from": 0,
  "size": 1,
  "aggs": {}
}

 

 

es head 插件下载 ess插件百科_Elastic_17