作者:崔雄华

1 Elasticsearch Head是什么

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

2 本地安装

下面简单介绍下ES环境安装和Elasticsearch Head在chrome浏览器中插件安装。

2.1 ES安装

安装链接:https://www.elastic.co/cn/webinars/getting-started-elasticsearch?elektra=what-is-elasticsearch&storm=hero-banner-cta&rogue=gs-with-elasticsearch-webinar 1.双击运行

es api 更新指定数据 es head 更新数据_elasticsearch

2.启动成功日志

es api 更新指定数据 es head 更新数据_Elastic_02

3.查看版本信息
访问地址:http://localhost:9200/ 出现如下信息:

es api 更新指定数据 es head 更新数据_增加字段_03

2.2 head插件安装

安装链接:https://chrome.google.com/webstore/detail/multi-elasticsearch-head/cpmmilfkofbeimbmgiclohpodggeheim?hl=zh-CN git地址:https://github.com/mobz/elasticsearch-head 1.打开head后效果

es api 更新指定数据 es head 更新数据_es api 更新指定数据_04

es api 更新指定数据 es head 更新数据_elasticsearch_05

重要信息,集群健康值。Elasticsearch 中其实有专门的衡量索引健康状况的标志,分为三个等级:

  • green,绿色。这代表所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
  • yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的。
  • red,红色。至少一个主分片以及它的全部副本都在缺失中。

3 基本查询

3.1 检索关键字

1.must子句
文档必须匹配must所有子句查询

es api 更新指定数据 es head 更新数据_es api 更新指定数据_06

2.should子句
文档应该匹配should子句查询的至少一个

es api 更新指定数据 es head 更新数据_Elastic_07

3.must_not子句
文档不能匹配该查询条件,相当于“!=”

es api 更新指定数据 es head 更新数据_elasticsearch_08

3.2 检索条件

  • match:分词匹配
  • term:表示精确匹配
  • wildcard:通配符匹配
  • prefix:前缀匹配
  • range:区间查询
  • query_string:允许在单个查询字符串中指定AND
  • text:文本
  • missing: 无值(类似于sql中IS NULL)

4 复合查询

ES以RESTful接口风格的请求,使用json进行复杂的查询。请求格式:http://ip:port/索引/类型/文档Id

4.1 查询数据(GET)

user/user/BmH494EB0DXGzMoya1Bu

es api 更新指定数据 es head 更新数据_Elastic_09

查询官方文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/query-dsl-intro.html

4.2 插入数据(PUT、POST)

PUT方法需要指明id

es api 更新指定数据 es head 更新数据_es api 更新指定数据_10

POST方法自动生成id

es api 更新指定数据 es head 更新数据_elasticsearch_11

es api 更新指定数据 es head 更新数据_增加字段_12

4.3 更新数据(PUT)

es api 更新指定数据 es head 更新数据_elasticsearch_13

4.4 删除数据(DELETE)

es api 更新指定数据 es head 更新数据_elasticsearch_14

4.5 给索引添加字段

user/user/_mapping也可以添加成功

es api 更新指定数据 es head 更新数据_elasticsearch_15

5 具体实践

纯配ECLP运单数据除了落mysql数据库同时也会存储ES,商家工作台导出、运单列表功能就是查询ES数据。
例如下面就是根据运单号查询运单数据:

es api 更新指定数据 es head 更新数据_elasticsearch_16

工作中需要在运单扩展表上增加字段,除了mysql数据表需要增加字段外,ES也要增加字段。lwb_main就是运单数据索引,给lwb_main索引增加字段执行语句如下:lwb_main/_mapping/lwb_main?pretty,pretty主要做美化作用,也可不要。

es api 更新指定数据 es head 更新数据_Elastic_17

6 总结

Elasticsearch Head插件直接在chrome浏览器安装后就可以使用,非常方便,对于初学者大有益处,使用head插件可以快速实现ES索引数据的增删改查、创建或者删除索引等操作。