技术干货技术文程序猿阵线联盟-汇总各类技术干货

elasticsearch API官档 cat API 通用参数

2017-06-16  本文已影响1761人  阳春是你

因个人爱好,计划对elasticsearch官方文档部分章节做翻译,统一发布至简书博客。特在此声明:

涉及到的章节如下
Document APIs - 文档相关的 API
Search APIs - 查询相关的API
Aggregations - 聚合
cat APIs - 查看相关的 API
Cluster APIs - 集群相关的APIS
Query DSL 结构化查询语句
Mapping 映射
Analysis 分词
Index Modules - 索引模块

翻译宗旨是,使涉及到的Elasticsearch文档内容 中英文无差别使用。可能不逐句翻译,可能会加入自己的理解,可能会打乱顺序,可能会合并多篇章节。

QQ群:163861494 。这是我维护的一个QQ群,用以做搜索技术交流。你可以加入,获取最即时的信息。

————————— Wonderful Content Start ————————

elasticsearch cat API

介绍

所有的cat 命令接受一个查询字符串参数help,来查看请求头和他提供的信息。/_cat 命令会列出所有可用的命令

curl 10.248.200.95:9200/_cat
=^.^=
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}

通用参数

Verbose
每一个命令都接受查询字符串v来返回详细的输出

[dmadmin@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/master
-XYVZvY8RBSgT_UTKnm4YA 10.248.200.95 10.248.200.95 95_new 
[dmadmin@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/master?v
id                     host          ip            node   
-XYVZvY8RBSgT_UTKnm4YA 10.248.200.95 10.248.200.95 95_new 

Help
help 将输出相关的列,

[dmadmin@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/master?help
id   |   | node id    
host | h | host name  
ip   |   | ip address 
node | n | node name  

headers
每一个命令接受一个查询字符串h,指定返回哪些列

[dmadmin@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/nodes?h=ip,port,heapPercent,name
10.248.200.95 9300 46 95_new 

可以使用通配符返回相关的多个列

[dmadmin@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/thread_pool?h=ip,bulk.*
10.248.200.95 fixed 0 4 0 50 0 4 1845717 4 4 

格式化为数字

使用一些命令可以将一些类型格式化为数字来输出,比如byte,size,time 。这些类型默认的显示格式对人类友好的。比如3.5mb 而不是3763212,这样会影响排序,当你需要排序的时候,可以修改。

举个例子,如果你想找到你集群中最大的索引(占用的磁盘最大),你可以使用/_cat/indices API来处理。你只需要做2件事

[etest@ip-10-248-200-95 ~]$ curl 10.248.200.95:9200/_cat/indices?bytes=b | sort -rnk8
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
105   948  105   948    0     0  86646      0 --:--:-- --:--:-- --:--:-- 94800
green open ware_index_20170306     1 0 13464943  408183 5262102838 5262102838 
green open ware_index_20170508     1 0  3856275  561897 2507469280 2507469280 
green open ware_index_20161124     1 0  4109687 1512573 2329827190 2329827190 
green open .marvel-es-1-2017.06.15 1 0   154923     120   51517665   51517665 
green open .marvel-es-1-2017.06.13 1 0   154924      96   51063984   51063984 
green open .marvel-es-1-2017.06.14 1 0   154923      72   50911784   50911784 
green open .marvel-es-1-2017.06.12 1 0   154923      37   50815402   50815402 
green open .marvel-es-1-2017.06.10 1 0   154923     120   50641339   50641339 
green open .marvel-es-1-2017.06.11 1 0   154887      48   49570329   49570329 
green open .marvel-es-1-2017.06.16 1 0    56158      36   18935038   18935038 
green open .kibana                 1 0        2       0      19918      19918 
green open .marvel-es-data-1       1 0        4       2      18084      18084 

指定响应类型为text、json、smile、yaml或者cbor

[etest@ip-10-248-200-95 ~]$ curl "10.248.200.95:9200/_cat/indices?format=json&pretty"
[ {
  "health" : "green",
  "status" : "open",
  "index" : ".marvel-es-1-2017.06.15",
  "pri" : "1",
  "rep" : "0",
  "docs.count" : "154923",
  "docs.deleted" : "120",
  "store.size" : "49.1mb",
  "pri.store.size" : "49.1mb"
}, {
  "health" : "green",
  "status" : "open",
  "index" : ".marvel-es-1-2017.06.14",
  "pri" : "1",
  "rep" : "0",
  "docs.count" : "154923",
  "docs.deleted" : "72",
  "store.size" : "48.5mb",
  "pri.store.size" : "48.5mb"
} ]

当前支持的格式有:text,json,smile,yaml,cbor
有些格式,也可以通过http请求头Accept来指定。

% curl '192.168.56.10:9200/_cat/indices?pretty' -H "Accept: application/json"
[
  {
    "pri.store.size": "650b",
    "health": "yellow",
    "status": "open",
    "index": "twitter",
    "pri": "5",
    "rep": "1",
    "docs.count": "0",
    "docs.deleted": "0",
    "store.size": "650b"
  }
]

Sort

查询字符串接收一个s参数,可以指定排序方式,例如:desc,:asc,其中asc是默认的排序方式。
例如s=column1,column2:desc,column3

GET _cat/templates?v&s=order:desc,template
上一篇 下一篇

猜你喜欢

热点阅读