Elasticsearch список индексов отсортированных по имени
Как результаты следующего запроса могут быть отсортированы по имени индекса?
curl "localhost:9200/_aliases?pretty"
4 ответов
Я думаю, что лучший способ сделать это-через консоль. Что-то вроде этого:--2-->
$ curl --silent 'http://path.to.cluster:9200/_cat/indices' | cut -d ' ' -f2 | sort
вы можете попросить ES сортировать результаты через s
(сортировка) searchParameter с помощью 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"`.
вы можете найти некоторые пояснения в Cat/indices documentation
лучший способ для Elasticsearch 5x выглядит так:
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 = сортировка, v = различные дополнительные детали, H = заголовки для включения,
Я не думаю, что он существует с помощью Elasticsearch api.
ответ от elasticsearch может быть
{
"index1": {
"aliases": {}
}
}
вот псевдокод для получения индекса из response
Если aliasresponse является ответом от elasticsearch, то
indexlist=[]
for (key in aliasresponse) {
indexlist.add(key)
}
sort(indexlist)
для сортировки, вы можете найти libaries или пользовательские методы.
надеюсь, что это помогает.