如何通过索引名称对以下查询的结果进行排序?
curl "localhost:9200/_aliases?pretty"
答案 0 :(得分:26)
您可以要求ES使用s
或s=i
s=index
(排序)搜索参数对结果进行排序
curl "localhost:9200/_cat/indices?pretty&s=i"
curl "localhost:9200/_cat/aliases?pretty&s=index"
要查看列标题,请添加"& v" :
curl "localhost:9200/_cat/indices?pretty&v&s=index"`.
中找到一些解释
答案 1 :(得分:9)
我认为最好的方法是通过控制台。像这样:
$ curl --silent 'http://path.to.cluster:9200/_cat/indices' | cut -d ' ' -f2 | sort
答案 2 :(得分:7)
GET _cat/aliases?v&s=index:desc&h=alias,index
会给你:
alias index
app-logs-alias app-logs-2017-12-31
backend-logs-read backend-logs-2017-12-31
s = sort,v =各种额外细节,h =要包含的标题,
答案 3 :(得分:2)
只需使用此get请求,它将显示具有列名称的所有索引。
http://localhost:9200/_cat/indices/?pretty&v
此外,不仅可以按名称对它进行排序,还可以根据需要使用s=column_name
的get参数对它进行排序。
例如;可以按照您喜欢的大小进行排序:
http://localhost:9200/_cat/indices/?pretty&s=store.size
类似的名称:
http://localhost:9200/_cat/indices/?pretty&s=index
答案 4 :(得分:1)
我不认为它存在于elasticsearch api。
来自elasticsearch的回复可以是
{
"index1": {
"aliases": {}
}
}
这是从响应中获取索引的伪代码
如果aliasresponse是elasticsearch的响应,那么
indexlist=[]
for (key in aliasresponse) {
indexlist.add(key)
}
sort(indexlist)
对于排序,您可以找到库或自定义方法。
希望这会有所帮助。
答案 5 :(得分:-1)
这是一个古老的问题,但是到2020年,最好的方法是:
和基巴纳一起:
GET _cat/indices/?pretty&s=store.size:desc
具有卷曲:
http://localhost:9200/_cat/indices/?pretty&s=store.size:desc
最后按Desc排序