使用Elasticsearch 1.7,我希望以JSON格式查看_cat/indices
的结果。我理解the results are meant to be aligned/pretty/readable,但有没有办法使用Elasticsearch API将其转换为JSON?
答案 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,因为你想对它进行某种处理。回到我如何发现这个问题,我实际上想得到按商店大小排序的索引列表,我不想使用curl
和sort
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