Как получить имя индекса в эластичном поиске на основе некоторых заданных имен псевдонимов. Пример: Имя_индекса: test Имена псевдонимов: a1,a2,a3 Имя_индекса: test2 Имя псевдонимов: a1,a3 Имя_индекса: test3 Имя псевдонимов: a1 извлекает имя индекса, в именах псевдонимов которого есть a1,a2,a3. ожидается из приведенного выше примера: тест
Получить имена индексов по нескольким псевдонимам
Ответы (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
да ты прав. но в моем случае индекс имеет более одного псевдонима, и мне нужны все индексы, содержащие все псевдонимы, которые я ищу. В моем приведенном выше примере, если я хочу получить все индексы, которые имеют a1, a2, a3 (в условии И), я должен получить только имя индекса «тест».
- person Akib Ali; 14.02.2018
Мы напрямую не используем elasticsearch по curl. Я использую клиент высокого уровня Java, поэтому мне нужен API с некоторым запросом.
- person Akib Ali; 14.02.2018
может так, пожалуйста, предложите что-нибудь
- person Akib Ali; 14.02.2018
Я не могу придумать API, который может это сделать. Возможно, вы захотите поднять билет на эластичную поддержку, чтобы получить совет от экспертов.
- person harishkb; 15.02.2018