ES查询工具简介

Head基本查询

在这里插入图片描述
1> 选择需要查询的索引;

2> 对选中的字段可以进行term、range等查询;

3> 勾选可以显示此次查询执行的语句, 在复合查询时可以根据此格式自由拼接查询条件;

4> 当进行多个条件并行查询时,需要包含在一层bool中;

5> 显示查询的结果集;

注意: 可以从以上执行的语句中复制json在复合查询中根据需要自行组合条件

Head复合查询

在这里插入图片描述
1> 此处为es的连接信息;

2> 查询的索引名;

3> 查询关键字;

4> Rest请求的类型;

5> 验证输入的请求body格式是否正确;

6> 发起请求,获取结果集

Kibana简介

DevTool

在这里插入图片描述
进入kibana,点击Dev Tools,此处可以编写es的查询语句;

Index Management

在这里插入图片描述
点击Management可以进入index的管理界面。

ES常用命令

查看节点状态

GET /_cat/health?v
在这里插入图片描述
前两个是时间戳,其余含义如下:

  1. cluster , 集群名称

  2. status, 集群状态 green代表健康;yellow代表分配了所有主分片,但至少缺少一个副本,此时集群数据仍旧完整;red代表部分主分片不可用,可能已经丢失数据。

  3. node.total, 代表在线的节点总数量

  4. node.data, 代表在线的数据节点的数量

  5. shards, active_shards 存活的分片数量

  6. pri,active_primary_shards 存活的主分片数量 正常情况下 shards的数量是pri的两倍。

  7. relo, relocating_shards 迁移中的分片数量,正常情况为 0

  8. init, initializing_shards 初始化中的分片数量 正常情况为 0

  9. unassign, unassigned_shards 未分配的分片 正常情况为 0

  10. pending_tasks, 准备中的任务,任务指迁移分片等 正常情况为 0

  11. max_task_wait_time, 任务最长等待时间

  12. active_shards_percent, 正常分片百分比 正常情况为 100%

查看索引

GET /_cat/indices?v

在这里插入图片描述
含义:

  1. health 索引健康状态

  2. status 索引的开启状态

  3. index 索引名称

  4. uuid 索引uuid

  5. pri 索引主分片数

  6. rep 索引副本分片数量

  7. docs.count 索引中文档总数

  8. docs.deleted 索引中删除状态的文档

  9. store.size 主分片+副本分分片的大小

  10. pri.store.size 主分片的大小

查看节点列表

GET /_cat/nodes?v
在这里插入图片描述
返回字段 含义

ip ip

heap.percent 堆内存占用百分比

ram.percent 内存占用百分比

cpu CPU 占用百分比

load_1m 1分钟的系统负载

load_5m 5分钟的系统负载

load_15m 15分钟的系统负载

node.role node节点的角色

master 是否是master节点

name 节点名称

增加索引

PUT /test01

在这里插入图片描述
查询指定索引所有数据
POST /employees/_search


{

  "query": {

    "match_all": { }

  }

}

查询指定索引符合条件的数据
等值条件: age=25
POST /employees/_search

{

  "query": {

    "term": {

      "age": {

        "value": "25"

      }

    }

  }

}

区间条件: 20 =< age <= 30
POST /employees/_search

{

  "size": 20,

  "query": {

    "range": {

      "age": {

        "gte": 20,

        "lte": 30

      }

    }

  }

}

组合条件: age=25, gender=male
POST /employees/_search

{

  "query": {

    "bool": {

      "filter": [

        {

          "term": {

            "age": "25"

          }

        },

        {

          "term": {

            "gender": "male"

          }

        }

      ]

    }

  }

}

删除索引

DELETE /test01
在这里插入图片描述

删除索引中的单个文档

DELETE /employees/_doc/1

1为索引 _id

删除符合条件的数据
POST /employees/_delete_by_query

{

  "query": {

    "match": {

      "message": "some message"

    }

  }

}

类似sql: delete from table_name where id= ‘123456’

删除指定索引下所有数据
POST /employees/_delete_by_query

{

  "query": {

    "match_all": {}

  }

}
通过指定字段进行区间数据删除
POST /employees /_delete_by_query

{

  "query": {

    "range" : {

        "age" : {

           "gte" : 10

        }

    }

  }

}
通过指定字段值进行数据删除
POST /employees /_delete_by_query

{

  "query": {

    "term": {

      "user": "kimchy"

    }

  }

}
查看Mapping

GET movie_index/_mapping

用以查看索引字段的类型等

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐