JSON格式的Elasticsearch cat索引

时间:2015-10-07 14:24:49

标签: elasticsearch

使用Elasticsearch 1.7,我希望以JSON格式查看_cat/indices的结果。我理解the results are meant to be aligned/pretty/readable,但有没有办法使用Elasticsearch API将其转换为JSON?

5 个答案:

答案 0 :(得分:27)

追加IPrincipal参数,例如:format

您还可以使用以下内容进行格式化:_cat/indices?format=json

答案 1 :(得分:7)

the documentation of cat APIs

  

JSON很棒...适用于计算机。即使它打印得很漂亮,试图找到数据中的关系也很乏味。人眼,尤其是在观看ssh终端时,需要紧凑且对齐的文本。 cat API旨在满足这一需求。

换句话说,cat API旨在以此格式提供数据。因此,您需要使用不同形式的API。问题是(至少这是我的问题)google搜索" elasticsearch list indices"将cat API作为第一个结果,所以这个问题非常合理。

要以JSON形式获取所有索引,它就像运行它一样简单:

GET /*/_stats

虽然有很多数据。你可能想要JSON,因为你想对它进行某种处理。回到我如何发现这个问题,我实际上想得到按商店大小排序的索引列表,我不想使用curlsort unix命令来做所以。该命令如下所示:

GET /*/_stats/store

不幸的是,搜索主体中的排序不适用于_stats命令(至少,我还没有能够使它工作)。但添加store属性将使您只能获取有关每个索引的数据存储的信息。

有关指标属性的更多信息,请参阅the _stats documentation

答案 2 :(得分:2)

通常使用此API和其他REST api,将“Accept”标头设置为您需要的内容类型。例如,使用elasticsearch 5.1.1,您需要将“application / json”指定为接受的内容类型,而elasticsearch将遵守该类型。

答案 3 :(得分:1)

看起来我可以使用/*/_aliases得到我需要的内容并使用响应的所有键similar to what is suggested here

答案 4 :(得分:1)

是的,可以通过在最后添加format = json来完成。

localhost:9200/_cat/indices?format=json