Получить имена индексов по нескольким псевдонимам

Как получить имя индекса в эластичном поиске на основе некоторых заданных имен псевдонимов. Пример: Имя_индекса: test Имена псевдонимов: a1,a2,a3 Имя_индекса: test2 Имя псевдонимов: a1,a3 Имя_индекса: test3 Имя псевдонимов: a1 извлекает имя индекса, в именах псевдонимов которого есть a1,a2,a3. ожидается из приведенного выше примера: тест


person Akib Ali    schedule 14.02.2018    source источник


Ответы (1)


GET /alias_name возвращает json со всеми индексами, используя псевдоним.

В этом случае вы можете попробовать что-то вроде ниже.

curl -XGET <ES_URL>/_cat/aliases/a1,a2,a3 2>/dev/null | cut -d ' ' -f2 | uniq -c | grep "^[[:space:]]\+3"

Команда печатает только индексы со всеми 3 псевдонимами.

person harishkb    schedule 14.02.2018
comment
да ты прав. но в моем случае индекс имеет более одного псевдонима, и мне нужны все индексы, содержащие все псевдонимы, которые я ищу. В моем приведенном выше примере, если я хочу получить все индексы, которые имеют a1, a2, a3 (в условии И), я должен получить только имя индекса «тест». - person Akib Ali; 14.02.2018
comment
Мы напрямую не используем elasticsearch по curl. Я использую клиент высокого уровня Java, поэтому мне нужен API с некоторым запросом. - person Akib Ali; 14.02.2018
comment
может так, пожалуйста, предложите что-нибудь - person Akib Ali; 14.02.2018
comment
Я не могу придумать API, который может это сделать. Возможно, вы захотите поднять билет на эластичную поддержку, чтобы получить совет от экспертов. - person harishkb; 15.02.2018