diff --git a/core/src/main/java/org/elasticsearch/rest/action/cat/RestAliasAction.java b/core/src/main/java/org/elasticsearch/rest/action/cat/RestAliasAction.java index 120678d2e822c..a783a9c2a8215 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/cat/RestAliasAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/cat/RestAliasAction.java @@ -46,7 +46,7 @@ public RestAliasAction(Settings settings, RestController controller) { @Override protected RestChannelConsumer doCatRequest(final RestRequest request, final NodeClient client) { final GetAliasesRequest getAliasesRequest = request.hasParam("alias") ? - new GetAliasesRequest(request.param("alias")) : + new GetAliasesRequest(Strings.commaDelimitedListToStringArray(request.param("alias"))) : new GetAliasesRequest(); getAliasesRequest.local(request.paramAsBoolean("local", getAliasesRequest.local())); diff --git a/docs/reference/cat/alias.asciidoc b/docs/reference/cat/alias.asciidoc index 93a1fdf3eb683..84d567d110a60 100644 --- a/docs/reference/cat/alias.asciidoc +++ b/docs/reference/cat/alias.asciidoc @@ -54,5 +54,6 @@ alias4 test1 - 2 1,2 The output shows that `alias2` has configured a filter, and specific routing configurations in `alias3` and `alias4`. -If you only want to get information about a single alias, you can specify -the alias in the URL, for example `/_cat/aliases/alias1`. +If you only want to get information about specific aliases, you can specify +the aliases in comma-delimited format as a URL parameter, e.g., +/_cat/aliases/aliases/alias1,alias2. \ No newline at end of file diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml index fc7eb4568920c..12879fa412a1d 100755 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml @@ -126,6 +126,52 @@ - match: $body: / (^|\n)test_2 .+ \n/ +--- +"Multiple alias names": + + - skip: + version: " - 5.99.99" + reason: multiple aliases are supported only from 6.0.0 on + + - do: + indices.create: + index: test + + - do: + indices.create: + index: test2 + - do: + indices.create: + index: test3 + + - do: + indices.put_alias: + index: test + name: foo + + - do: + indices.put_alias: + index: test2 + name: bar + - do: + indices.put_alias: + index: test3 + name: baz + + - do: + cat.aliases: + name: foo,bar + v: true + h: [alias, index] + s: [index] + + - match: + $body: | + /^ alias \s+ index \n + foo \s+ test \n + bar \s+ test2 + $/ + --- "Column headers":