Kot pa veste, ko se podatki preslikajo v indeks, jih ni več mogoče spremeniti. Če želite to narediti, boste morali podatke znova indeksirati s potrebnimi spremembami. Ta postopek lahko povzroči izpad, kar ni zelo dobra praksa, zlasti za storitve, ki so že v obtoku.
Da bi se temu izognili, lahko uporabimo vzdevke indeksa, ki nam omogočajo nemoteno preklapljanje med indeksi.
Kako ustvariti indeks?
Prvi korak je zagotoviti, da imate obstoječi indeks, ki ga želite posodobiti.
Za to vadnico bomo imeli stari in novi indeks, ki bo deloval kot njihova imena.
PUT / old_index /"nastavitve":
"number_of_shards": 1
,
"vzdevki":
"use_me":
,
"Preslikave":
"lastnosti":
"ime":
"type": "text"
,
"id":
"type": "celo število"
,
"plačano":
"type": "boolean"
Za uporabnike cURL uporabite priloženi ukaz:
curl -XPUT "http: // localhost: 9200 / old_index /" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me" : , "Preslikave": "lastnosti": "ime": "vrsta": "besedilo", "id": "tip": "celo število", "plačano": "vrsta ":" boolean " 'Nato ustvarite nov indeks, ki ga bomo uporabili. Kopirajte vse nastavitve in preslikave iz starega indeksa kot:
PUT / new_index"nastavitve":
"number_of_shards": 1
,
"vzdevki":
"use_me":
,
"Preslikave":
"lastnosti":
"ime":
"type": "text"
,
"id":
"type": "celo število"
,
"plačano":
"type": "objekt"
Tu je ukaz cURL:
curl -XPUT "http: // localhost: 9200 / new_index" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me": , "Preslikave": "lastnosti": "ime": "vrsta": "besedilo", "id": "tip": "celo število", "plačano": "tip" : "objekt" 'Če imate nastavitve in preslikave v novem indeksu, uporabite API ponovnega indeksa za kopiranje podatkov iz starega indeksa v novega:
OBJAVI _reindex“Vir”:
"index": "old_index"
,
"dest":
"index": "new_index"
Tu je ukaz cURL:
curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" 'Zdaj kopirajte vzdevek starega indeksa v novega z uporabo _alias api kot:
POST / _vzdevki"dejanja": [
"add": "index": "new_index", "alias": "use_me"
]
Tu je ukaz cURL:
curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Content-Type: application / json' -d '"actions": ["add": "index": "new_index", "alias ":" use_me "] 'Ko končate, lahko zdaj odstranite stari indeks in aplikacije bodo uporabljale novi indeks (zaradi vzdevka) brez izpadov.
Zaključek
Ko obvladate koncepte, obravnavane v tej vadnici, boste lahko ponovno indeksirali podatke iz starega indeksa v novega.