ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Cat APIs ## 介绍 JSON在计算机领域是个伟大的发明,尽管他可以以美化格式,但是视图从JSON发现数据直接的关系还是很沉闷的.人眼,尤其是看着终端,还是需要紧凑和对齐的文本.而cat API就是以图完成这个需求. 所有的cat命令都接受一个查询字符串参数,以查看它们提供的所有标题和信息,而/ _cat命令仅列出所有可用的命令。 ## 常用参数 * verbose 每个_cat命令都会接受一个"v"参数,会返回详细的结果输出.比如 ~~~ GET /_cat/master?v ~~~ 将会返回 ~~~ id host ip node u_n93zwxThWHi1PDBJAGAg 127.0.0.1 127.0.0.1 u_n93zw ~~~ * help 每个_cat命令都会接受一个"help"参数,会在返回结果中说明每列的含义,比如 ~~~ GET /_cat/master?help ~~~ 将会返回 ~~~ id | | node id host | h | host name ip | | ip address node | n | node name ~~~ * header 每个_cat命令都会接受一个"h"参数,会在返回结果中强制所指定的列,比如 ~~~ GET /_cat/nodes?h=ip,port,heapPercent,name ~~~ 将会返回 ~~~ 127.0.0.1 9300 27 sLBaIGK ~~~ 你也可以在请求的多个列的参数中使用通配符,如/_cat/thread_pool?h=ip,bulk.*来返回所有以bulk开始的列 ## 格式化数字 许多命令提供一些类型的数字输出,要么是字节,要么是大小,要么是时间值。默认情况下,这些类型是人为格式化的,例如,3.5 mb而不是3763212。人类的可读的值并不方便进行数字排序,因此,为了在秩序重要的地方进行操作,你可以改变它。 假设您希望在集群中找到最大的索引(所有分片的存储容量,而不是文档的数量)。`/_cat/indices` API是理想的。我们只需要调整两件事。首先,我们要关闭人类可读模式。我们将使用字节级的解析格式。然后,我们将使用适当的列将输出进行排序,在本例中是第8列 ~~~ curl '192.168.56.10:9200/_cat/indices?bytes=b' | sort -rnk8 ~~~ 返回结果 ~~~ green wiki2 3 0 10000 0 105274918 105274918 green wiki1 3 0 10000 413 103776272 103776272 green foo 1 0 227 0 2065131 2065131 ~~~ 如果你想改变时间单位,请使用"time"参数 如果你想改变大小单位,请使用"size"参数 如果你想改变字节单位,请使用"bytes"参数 ## 返回各种格式的结果,如json,smile,yaml,cbor ~~~ curl 'localhost:9200/_cat/indices?format=json&pretty' ~~~ 将返回 ~~~ [ { "pri.store.size": "650b", "health": "yellow", "status": "open", "index": "twitter", "pri": "5", "rep": "1", "docs.count": "0", "docs.deleted": "0", "store.size": "650b" } ] ~~~ 当前支持的格式化类型有: text(默认),json,smile,yaml,cbor,请使用“format”参数. 另外一个可选的选择是:在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" } ] ~~~ 每个命令都接受一个查询字符串参数s,它通过指定为参数值的列对表进行排序。列按名称或别名指定,并作为逗号分隔的字符串提供。默认情况下,排序以升序方式进行。“:desc"表示一个列将反转该列的顺序。”:asc"也被接受,但其表现与默认排序相同。 比如: ~~~ GET _cat/templates?v&s=order:desc,index_patterns ~~~ 将返回: ~~~ name index_patterns order version pizza_pepperoni [*pepperoni*] 2 sushi_california_roll [*avocado*] 1 1 pizza_hawaiian [*pineapples*] 1 ~~~ ## Sort // TODO