Kibana使用操作

基于kibana的Dev Tools控制板的es常用查询语句

1.集群相关:
--- 查询集群健康状态
     GET _cluster/health
--- 查询所有节点
     GET _cat/nodes
--- 查询索引及分片的分布
     GET _cat/shards
--- 查询所有插件
     GET _cat/plugins
2.索引相关查询:
--- 查询所有索引及容量
     GET _cat/indices
--- 查询索引映射结构
     GET my_index/_mapping
--- 查询所有索引映射结构
     GET _all
--- 查询所有的相同前缀索引
     GET my-*/_search
--- 查询所有索引模板  
     GET _template
--- 查询具体索引模板
     GET _template/my_template
--- 删除索引
    DELETE my-index

索引的操作
写入索引模板

PUT _template/my_template
{
    "template" : "my-*",
    "order" : 0,
    "settings" : {
        "number_of_shards" : 10,
         "number_of_replicas" : 0
    },
    "mappings": {
      "default": {
  "_all": {
        "enabled": false
      },
        "properties": {
          "name": {
            "type": "text"
          },
          "age": {
            "type": "long"
          }
        }
    }
  }
}

创建索引映射结构

PUT my_index
{
  "mappings": {
    "doc": {
      "properties": {
        "name": {
          "type": "text"
        },
        "blob": {
          "type": "binary"
        }
      }
    }
  }
}

写入索引

PUT my_index/doc/1
{
  "name": "Some binary blob",
  "blob": "U29tZSBiaW5hcnkgYmxvYg==" 
}

删除索引

DELETE my-index

DSL query查询

a、查询所有
GET _search
{
  "query": {
    "match_all": {}
  }
}
b、查询单个索引 的 固定属性
--- 精确匹配
GET _search
{
  "query": {
    "term": { "name" : "you" }
  }
}
--- 模糊匹配
GET _search
{
  "query": {
    "match": { "name" : "you" }
  }
}
--- 范围查找
GET _search
{
  "query": {
    "range": {
        "age":{ "gte" : 15 , "lte" : 25 }
    }
  }
}
c、功能性查询
--- 过滤
GET my_index/_search
{
  "query": {
    "bool": {
      "filter": {
        "term":{"age":1095}
      }
    }
  }
}
--- 或  or
GET my - test / _search {
"query": {
"bool": {
"should": [{
"term": {
"name": "you"
}
}, {
"match": {
"age": 20
}
}]
}
}
}
--- 与 AND
GET my-test/_search
{
  "query": {
    "bool": {
      "must" : [{
        "match" : {
          "name" : "you"
        }
      },{
        "range":{
        "age":{
          "from" : 10 , "to" : 20
        } 
        }
      }]
    }
  }
}
---必须 =
GET my_index/_search
{
  "query": {
    "bool": {
      "must" : {
        "range" : {
          "age" : { "from" : 10, "to" : 20 }
        }
      }
    }
  }
}
--- 必须不 not
GET my_index/_search
{
  "query": {
    "bool": {
      "must_not" : {
        "term" : {
          "name" : "you"
        }
      }
    }
  }
}
d、复合查找
GET my_index/_search 
{
"query": {
"bool": {
"should": [{
"match": {
"age": 40
}
}, 
{
"match": {
"age": 20
}
}],
"filter": {
  "match":{
    "name":"you"
  }
}
}
}
}
e、索引迁移
--- 场景 从A索引 复制到B索引
POST _reindex
{
  "source": {
    "index": "my_index"
  },
  "dest": {
    "index": "new_my_index"
  }
}
f、基于查询的删除
POST test-index/_delete_by_query
{
  "query":{
        "term": {
         "cameraId":"00000000002"
        }
  }
}
--- 查询
GET test-index/_search
{
  "query":{
        "term": {
         "cameraId":"00000000002"
        }
  }
}

滚动查询

目前支持滚动查询的客户端(client)只有perl版和python版。
Perl: Search::Elasticsearch::Client::5_0::Bulk and Search::Elasticsearch::Client::5_0::Scroll
Python: elasticsearch.helpers.
第一步:获取scroll id
POST /twitter/_search?scroll=1m
{
    "size": 100,
    "query": {
        "match" : {
            "title" : "elasticsearch"
        }
    }
}
第二步:利用scroll id进行查询
POST /_search/scroll 
{
    "scroll" : "1m", 
    "scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==" 
}
第三步:结果遍历完成后,删除scroll_id
DELETE /_search/scroll
{
    "scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ=="
}
删除无用的scroll有好几种方法:
1.删除一个scrollId
DELETE /_search/scroll
{
    "scroll_id" : "UQlNsdDcwakFMNjU1QQ=="
}
2.删除多个scrollId
DELETE /_search/scroll
{
    "scroll_id" : [
      "aNmRMaUhiQlZkMWFB==",
      "qNmRMaUhiQlZkMWFB=="
    ]
}
3.删除所有的scrollId
DELETE /_search/scroll/_all
4.search lite api的删除多个scrollId用法
DELETE /_search/scroll/aNmRMaUhiQlZkMWFB==,qNmRMaUhiQlZkMWFB==

备注:
1.常用查询语句参考文档:https://blog.csdn.net/weixin_43865381/article/details/97904321
2.滚动scroll查询:
1⃣️第一步:scroll=1m,表示“search context”存活时间1分钟。返回结果中会带有一个“_scroll_id”,这个值在后续的翻页过程中使用
2⃣️第二步:不用指定index和type,也不用其他查询条件,只要把上一步的_scroll_id即可。之后翻页一直如此,每次执行会自动滚动100条数据,直到返回的结果为空为止。每次执行间隔不要超过1分钟,否则“search context”会释放掉
3⃣️第三步:结果遍历完成后,删除scroll_id。这一步也可以不做,等1分钟后没有继续翻页请求,“search context”会自动释放掉,不过建议还是手动清除,节省资源
4⃣️参考文档:https://www.jianshu.com/p/4d1bec7bb1a4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
3.删除滚动id可以参考文档:https://blog.csdn.net/weixin_33957648/article/details/92076339

ES把缓存数据监控FieldData语句

--- 对于单个索引使用 {ref}indices-stats.html[indices-stats API]
     GET /_stats/fielddata?fields=*
--- 对于单个节点使用 {ref}cluster-nodes-stats.html[nodes-stats API]
     GET /_nodes/stats/indices/fielddata?fields=*
--- 或者甚至单个节点单个索引
     GET /_nodes/stats/indices/fielddata?level=indices&fields=*
---通过设置 ?fields=* 内存使用按照每个字段分解了
---查询节点使用情况
    curl -XGET "http://http://192.168.8.20:5601/_nodes/thread_pool/"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值