Получить общее количество индексов в кластере elasticsearch

Я знаю, как получить общее количество документов с помощью Count API, но мне нужно знать общее количество индексов, присутствующих в моем кластере ES, и я не мог найти способ его получить.

P.S. Я знаю про _cat/indices?v API, но мне просто нужно общее количество.

0
0
874
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете использовать

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

Я знаю этот API, но я просто хочу count

user12056260 14.12.2020 09:25

@java-dev хорошо, я добавил еще одну опцию с кластером/статистикой

Danila Zharenkov 14.12.2020 12:12

Если вы пытаетесь сделать это программно, вы можете использовать это:

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, если есть способ сделать это с помощью почтальона или простого. ПОЛУЧИТЬ вызов в браузере ??

user12056260 14.12.2020 09:58

В Postman вы можете переключиться на вкладку Tests и использовать следующий скрипт pm.reponse.json().length, чтобы узнать длину массива индексов

Val 14.12.2020 10:23

Другие вопросы по теме