Ako však viete, akonáhle sú údaje namapované do indexu, nemožno ich upravovať. Ak to chcete urobiť, budete musieť znova indexovať údaje s požadovanými úpravami. Tento proces môže viesť k výpadkom, čo nie je veľmi osvedčený postup, najmä pre službu, ktorá je už v obehu.
Aby sme to obišli, môžeme použiť aliasy indexov, ktoré nám umožňujú bezproblémové prepínanie medzi indexmi.
Ako vytvoriť index?
Prvým krokom je zabezpečenie existujúceho indexu, ktorý chcete aktualizovať.
Pre tento tutoriál budeme mať starý a nový index, ktorý bude fungovať ako ich názvy.
PUT / old_index /"nastavenie":
"number_of_shards": 1
,
"aliasy":
"použi ma":
,
„Mapping“:
"properties":
"názov":
"type": "text"
,
"id":
"type": "integer"
,
"zaplatené":
"type": "boolean"
Pre používateľov cURL použite pripojený príkaz:
curl -XPUT "http: // localhost: 9200 / old_index /" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliasy": "use_me" : , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type ":" boolean " 'Ďalej vytvorte nový index, ktorý budeme používať. Skopírujte všetky nastavenia a priradenia zo starého indexu ako:
PUT / nový_index"nastavenie":
"number_of_shards": 1
,
"aliasy":
"použi ma":
,
„Mapping“:
"properties":
"názov":
"type": "text"
,
"id":
"type": "integer"
,
"zaplatené":
"type": "objekt"
Tu je príkaz cURL:
curl -XPUT "http: // localhost: 9200 / new_index" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliasy": "use_me": , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type" : "objekt" 'Po nastavení a mapovaní v novom indexe použite reindex api na kopírovanie údajov zo starého indexu do nového:
POST _reindex„Zdroj“:
"index": "old_index"
,
"cieľ":
"index": "new_index"
Tu je príkaz cURL:
curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" 'Teraz skopírujte alias starého indexu do nového pomocou rozhrania _alias api ako:
POST / _alias"akcie": [
"add": "index": "new_index", "alias": "use_me"
]
Tu je príkaz cURL:
curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Content-Type: application / json' -d '"actions": ["add": "index": "new_index", "alias " : "použi ma" ]'Po dokončení môžete teraz odstrániť starý index a aplikácie budú nový index používať (z dôvodu aliasu) bez výpadkov.
Záver
Po zvládnutí konceptov diskutovaných v tomto výučbe budete mať možnosť opätovne indexovať údaje zo starého indexu do nového na danom mieste.