Hvem fanden er den general?
Hvem fanden er den general?

Alias på index i Elasticsearch

Det kan være en fordel når man opretter sine indices (indexer) så det ikke benytter det navn som man referer til i sin app. Hvis du senere får brug for at kunne opdatere dit index med en ny mapping skal hele index slettes og importeres igen, så er det meget smart at man kan gøre det i ro og mag, i et helt andet index og bagefter rettet alias så den peger på det nye index.

For at oprette et alias skal man skrive følgende:

curl -XPOST 'http://localhost:9200/_aliases' -d '
{
    "actions" : [
        { "add" : { "index" : "mit_index_20140510", "alias" : "mit_index" } }
    ]
}'

Her oprettes et alias på indexet mit_index_20140510 til mit_index. Så hvis du prøver at søge i mit_index vil du få samme resultat som hvis du søger i mit_index_20140510.

For at opdatere et index skal men først slette det gamle og oprette det nye. Dette kan gøre på engang.

curl -XPOST 'http://localhost:9200/_aliases' -d '
{
    "actions" : [
        { "remove" : { "index" : "mit_index_20140510", "alias" : "mit_index" } },
        { "add" : { "index" : "mit_index_20140411", "alias" : "mit_index" } }
    ]
}'

Her udføres faktisk en slet (remove) og en oprettelse af et nyt alias (add)

Det er også muligt at oprette et alias som benytter flere indices på engang. På den måde kan man sætte flere indexer sammen uden at behøver at tage højde for det i sin app.

curl -XPOST 'http://localhost:9200/_aliases' -d '
{
    "actions" : [
        { "add" : { "index" : "mit_index_20140510", "alias" : "mit_index" } },
        { "add" : { "index" : "mit_index_20140511", "alias" : "mit_index" } }
    ]
}'

Du kan finde mere om alias her.

Leave a comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.