ElasticSearch: Wie kann man den Alias-Namen setzen?
ElasticSearch: Wie kann man den Alias-Namen setzen?
Wenn ein Resharding (= Splitten eines Indexes, z. Bsp. enaioblue_0) erforderlich ist, sollte man den Aliasnamen wieder setzen.
Sollte man dies nicht tun, wird der Indexservice beim Starten einen neuen Shard anlegen.
Es gibt mehrere Tools, die man verwenden kann, z. Bsp.: Advanced-Rest-Client für den Browser, Postman, curl.exe, Indexservice-API-Seite aufrufen. Das Format ist immer JSON!
Wichtig auch: In den ElasticSearch-Versionen können sich Jobs/Aufrufe etc. ändern. Am besten bei ElasticSearch nachlesen, wenn es Probleme gibt.
Schritt-für-Schritt-Anleitung
- Zuerst abfragen, welche Alias-Namen bereits vergeben sind. Sofern man Alias-Namen doppelt vergibt, kann es passieren, dass die Volltextdatenbank nicht mehr nutzbar ist.
- direkt im Browser absetzen:
http://<lasticsearch-server>:8041/_cat/aliases?v - oder per Rest-Client und GET:
GET http://<elasticsearch-server>:8041/_cat/aliases?v
Beispiel:
Das meint, dass es 2 Alias-Namen gibt. Einmal ".security" für Index ".security-7" und einmal "enaioblue" für Index "enaioblue_0".
- direkt im Browser absetzen:
- Alias vergeben. Hierfür ist eine API oder CURL erforderlich. Format des Body ist immer JSON! Per Browser funktioniert dies nicht.
POST http://<elasticsearch-server>:8041/_aliases
{
"actions" : [
{ "add" : { "index" : "<name des Index für den der Aliasname vergeben werden soll>", "alias" : "<alisaname>" } }
]
}
Beispiel: für enaioblue_2 den Aliasnamen enaioblue_alias vergeben: - Kontrollieren, ob das Setzen funktioniert hat. Dazu einfach die URL von Punkt 1 aufrufen.
http://<lasticsearch-server>:8041/_cat/aliases?v
bzw. per API: GET http://<lasticsearch-server>:8041/_cat/aliases?v
Falls kein Tool für die API zur Verfügung steht, kann man die CURL.EXE benutzen. Diese liegt immer im enaio Server-Verzeichnis und kann einfach kopiert werden.
Verwandte Artikel
, multiple selections available, Use left or right arrow keys to navigate selected items