Подстановочный знак для индекса Elasti c - PullRequest
3 голосов
/ 31 марта 2020

У меня есть индекс Elasti c, индекс transactions-internal, и я хотел бы указать все имена, такие как transactions-([a-z]+)-internal, на этот индекс, используя псевдоним, поэтому все запросы, такие как

GET /transactions-a-internal/_search
GET /transactions-b-internal/_search
GET /transactions-c-internal/_search
...
etc

, должны давать тот же результат, что и

GET /transactions-internal/_search

Я пробовал

POST /transactions-internal/_alias/transactions-*-internal

, но он вернул

Invalid alias name [...] must not contain the following characters [ , \", *, \\, <, |, ,, >, /, ?]

Есть ли какое-нибудь "умное" решение для этого? Я бы настоятельно хотел настроить его на стороне Elasti c, а не где-либо еще.

1 Ответ

2 голосов
/ 31 марта 2020

Ты почти у цели. Это наоборот , то есть POST /<index>/_alias/<alias>

POST /transactions-*-internal/_alias/transactions-internal

ОБНОВЛЕНИЕ:

Если вы хотите наоборот , тогда вы можете использовать следующее (обратите внимание, что псевдоним не может содержать подстановочные знаки):

POST /_aliases
{
    "actions" : [
        { "add" : { "index" : "transactions-internal", "alias" : "transactions-a-internal" } },
        { "add" : { "index" : "transactions-internal", "alias" : "transactions-b-internal" } },
        { "add" : { "index" : "transactions-internal", "alias" : "transactions-c-internal" } }
    ]
}
...