Я знаю, как получить общее количество документов с помощью Count API, но мне нужно знать общее количество индексов, присутствующих в моем кластере ES, и я не мог найти способ его получить.
P.S. Я знаю про _cat/indices?v
API, но мне просто нужно общее количество.
Вы можете использовать
GET /_cat/indices
Он вернет вам все индексы в вашем кластере в формате, подобном этому
green open .monitoring-kibana-7-2020.12.09 YWHXyIEfSoqxiv6E6Q8uzg 1 1 8639 0 5.6mb 2.8mb
green open question_autocomplete NgaQwtmjRQ6rEUJwyFQfGw 1 1 15366 3 6.7mb 3.3mb
green open a302abbe-b6e4-4486-b24c-4399f4800e4c mu4IMit4S_Oml5CDjbkZsA 1 1 1705 0 227.3mb 113.3mb
Другой вариант — использовать статистику кластера с фильтрацией.
GET _cluster/stats?filter_path=indices.count
@java-dev хорошо, я добавил еще одну опцию с кластером/статистикой
Если вы пытаетесь сделать это программно, вы можете использовать это:
GET /_stats
В ответе есть ключ «индексы», и вы можете подсчитать все индексы, содержащиеся в нем.
Или подсчет из этого (который на самом деле использует массив, поэтому может быть проще получить счет):
GET /_cat/indices?format=json&h=index
jq на помощь... Вы можете передать результаты запроса _cat/indices
с помощью jq
, чтобы узнать количество индексов:
curl -s -XGET 'http://localhost:9200/_cat/indices?format=json' | jq length
Это даст вам единственный номер, который вы ищете
я должен использовать curl
, если есть способ сделать это с помощью почтальона или простого. ПОЛУЧИТЬ вызов в браузере ??
В Postman вы можете переключиться на вкладку Tests
и использовать следующий скрипт pm.reponse.json().length
, чтобы узнать длину массива индексов
Я знаю этот API, но я просто хочу
count