Elasticsearch-head插件使用小结
1、ElasticSearch-head是什么?
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。 -----百度百科
而ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。
对于如何安装ElasticSearch和ElasticSearch-head下面不做说明,百度下,网上有很多资料~
2、ElasticSearch-head页面介绍
2.1 head插件登陆和连接ElasticSearch
在登陆和访问head插件地址和ElasticSearch前需要事先在服务器上安装和配置好ElasticSearch以及head插件。安装完后,默认head插件的web端口为9100,ElasticSearch服务的端口为9200,使用浏览器访问head地址,如http://IP地址:9100/,推荐使用Chrome浏览器,head插件对Chrome浏览器兼容更佳。进入head页面后将ElasticSearch连接输入框中填写正确的ElasticSearch服务地址,如http://IP地址:9200/。访问后效果如下图:

2.2 head插件页面
概览页面:

上图为概览页面效果,简单说明下以上5个画了红框的地方
1:集群健康值。Elasticsearch 中其实有专门的衡量索引健康状况的标志,分为三个等级:
- green,绿色。这代表所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
- yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果更多的分片消失,你就会丢数据了。所以可把 yellow 想象成一个需要及时调查的警告。
- red,红色。至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。
如果只有一台主机的话,其实索引的健康状况也是 yellow,所有上图显示为yellow。因为一台主机,集群没有其他的主机可以防止副本,所以说,这就是一个不健康的状态,因此集群也是十分有必要的。
2:表示在Elasticsearch已经创建的索引(index)。包含了索引的名称、索引的大小(size)、索引的数据量(docs),并且通过【信息】和【动作】可以查看索引信息或者给索引建别名。
3:表示Elasticsearch节点。上图中的带有感叹号的Unassigned表示未分配的节点,带有星号的表示是主节点,其节点名称叫:Hu9Suoy,并能查看节点信息。
4:表示索引分片,Elasticsearch数据就存储在这些分片中。
5:查看Elasticsearch相关的信息和刷新head插件。如查看Elasticsearch版本信息,如下图:

索引页面:
索引页面能看到当前Elasticsearch中已经创建的索引,这里的索引类似于传统关系型数据库中的一张张表,并且可以在该页面上新建索引。

数据浏览页面:
数据浏览页面能查看所有索引分片的数据

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

复合查询页面

3、基本查询
基本查询页面可以对数据进行简单的查询。
查询关键字有三种:分别是:must,should,must_not
- must子句:文档必须匹配must查询条件,相当于“=”;
- should子句:文档应该匹配should子句查询的一个或多个;
- must_not子句:文档不能匹配该查询条件,相当于“!=”;
如下图基本查询实例:

默认返回结果使用table展示,即表格形式,还有json、csv形式展示
其中检索条件有诸多,如下图:

通常term表示精确匹配,wildcard : 通配符匹配 prefix:前缀匹配,range区间查询,如使用wildcard查找带有“粤BN69”的数据:

其它的检索条件也可以尝试检索下
4、复合查询
复合查询页面提供编写RESTful接口风格的请求,使用json进行复杂的查询,也可发送put请求新增及更新索引,使用delete请求删除索引等等来对Elasticsearch中的数据或者索引进行各种增删改查等操作请求。
ES以RESTFul风格来命名API的, 其API的基本格式类似如下:

以http来决定请求的方法或者动作: 常用的有GET/PUT/POST/DELETE
4.1查询数据
比如我们查询st_face这个索引,通过索引类型face_info(这里的索引类型类似于mysql数据库中创建的索引),搜索分片属性为time的字段,如下图效果:

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

PUT方法:

4.3修改数据

4.4删除数据
删除数据使用DELETE方法,实例如下:

注:
Head插件中编写json发送请求比较复杂和不方便, 可以使用postman或者python ElasticSearch模块提供的API等工具进行请求的发送,来实现对ElasticSearch的数据和索引进行增删改查。
5、Python ElasticSearch模块
Python Elasticsearch模块是Python的一个第三方模块库,需要手动安装,如果已经安装了pip工具,就可以直接通过命令:pip install elasticsearch一键安装。Elasticsearch API封装并提供了可操作Elasticsearch的几乎所有动作,包括常用的Elasticsearch数据的增删改查和索引操作。
以下是一些参考文档地址:
Elasticsearch官方API文档地址:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html
Elasticsearch模块的使用:
https://www.cnblogs.com/xiao987334176/p/10130712.html
下面通过一个实例编写脚本,实现连接Elasticsearch,并批量向Elasticsearch数据库中的st_face索引中写入数据,在PyCharm中编辑如下代码:

执行完成后,在Elasticsearch中查看st_face索引中刚刚批量插入的数据,如下:

Elasticsearch-head插件使用小结的更多相关文章
- JQuery插件使用小结
JQuery插件使用小结
- ElasticSearch head 插件安装
head 客户端可以很方便在上面创建索引,类型,文档,还有查询,使用它管理elasticsearch 提高效率. 在安装head 客户端之前必须安装node.js 环境,因为它是用node.js 编写 ...
- Elasticsearch.安装插件(head)
Elasticsearch.安装插件(head) 环境: Linux 7.x jdk1.8 目录结构(跟目录多了两个文件) /resources ### 存放软件源 /u01/ ...
- Elasticsearch alias别名管理小结
Elasticsearch alias别名管理小结 By:授客 QQ:1033553122 建创测试数据 1 创建别名 2 移除别名 3 创建测试数据 4 批量操作 5 例1. 5 例2. 把多个索引 ...
- 监控Elasticsearch的插件【check_es_system】
监控Elasticsearch的插件推荐 强大的shell脚本 #!/bin/bash ####################################################### ...
- Elasticsearch之插件扩展
Elasticsearch之插件介绍及安装 Elasticsearch之head插件安装之后的浏览详解 Elasticsearch之kopf插件安装之后的浏览详解 Elasticsearch-2.4. ...
- ELK 学习笔记之 elasticsearch head插件安装
elasticsearch head插件安装: 准备工作: 安装nodejs和npm https://nodejs.org/en/download/ node-v6.11.2-linux-x64.ta ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- chrome浏览器中安装以及使用Elasticsearch head 插件
一.安装Elasticsearch head 插件 下载安装包:https://github.com/liufengji/es-head/commit/121cdcb6d1b18656461e4889 ...
- Elasticsearch Head插件实践
简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
随机推荐
- Optimizing concurrent accesses in a directory-based coherency protocol
In one embodiment, the present invention includes a directory to aid in maintaining control of a cac ...
- c语言学习笔记(3)——输入输出
一.基本的输入和输出函数的用法 printf() //屏幕输出 用法: (1)printf("字符串\n"); (2)printf("输出控制符", 输出参数 ...
- 张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)
使用Opencv实现张正友法相机标定之前,有几个问题事先要确认一下,那就是相机为什么需要标定,标定需要的输入和输出分别是哪些? 相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的 ...
- 获取浏览器的ip以及省份
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> <script type=& ...
- 假设做一个循环滚动UIScrollView
先上效果图: 首先初始化: - (void)viewDidLoad { //加入最后一张图 用于循环 int length = 4; NSMutableArray *tempArray = [NSMu ...
- Leetcode 136 Single Number 亦或
题意就是从一堆数中找出唯一的一个只存在一个的数.除了那个数,其他的数都是两个相同的数. 通过亦或的性质: 1)a^a = 0 0^a = a 2)交换律 a^b = b^ a 3)结合律 (a^b)^ ...
- OpenCV 图像清晰度评价(相机自动对焦)
相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上.这时候物体的成像比较清晰,图像细节信息丰富. 相 ...
- 使用WPF实现3D场景[一]
原文:使用WPF实现3D场景[一] 在这篇文章里,将介绍如何实现一个简单的三维场景,一个三维的空间,包括空间内的三维物体的组合. 首先介绍一下一个三维场景里的基本元素: 先是定义一个简单的三维的场景环 ...
- AntDesign Form表单字段校验的三种方式
1.使用getFieldDecorator的rules规则 最简单的方法就是使用getFieldDecorator中的rules验证.rules中定义校验规则,message为校验不通过时的提示文字. ...
- 关于 Swift 2.0 - 语言新特性与革新
随着刚刚结束的 WWDC 2015 苹果发布了一系列更新,这其中就包括了令人振奋的 Swift 2.0. 这是对之前语言特性的一次大幅的更新,加入了很多实用和方便的元素,下面我们就一起来看看这次更新都 ...