zoukankan      html  css  js  c++  java
  • 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索引中刚刚批量插入的数据,如下:

  • 相关阅读:
    ICONS-图标库
    图形资源
    vue项目中,如果修改了组件名称,vscode编辑器会在引入修改组件的名字处提示红色波浪线 The file is in the program because:Imported via xxx Root file specified for compilation .
    接口在dev环境报跨域问题(has been blocked by CORS policy:Response to preflight request doesn't pass access control check:No 'Access-Control-Allow-Origin' header ispresent on the requested resource.),qa环境正常
    阿里云occ的图片文件URL用浏览器直接打开无法访问,提示This XML file does noe appear to have any style information associated with it. The document tree is shown below.
    vue 项目使用element ui 中tree组件 check-strictly 用法(父子不互相关联的反显情况)
    高德地图进行线路规划绘制标记点操作(vue)
    vue中实现拖拽调整顺序功能
    2021-01-22 浏览器相关知识
    2021-01-22 js 相关知识点
  • 原文地址:https://www.cnblogs.com/tdp0108/p/11105848.html
Copyright © 2011-2022 走看看