Jak však víte, jakmile jsou data mapována do indexu, nelze je upravovat. Chcete-li to provést, budete muset znovu indexovat data s požadovanými úpravami. Tento proces může vést k prostojům, což není velmi dobrý postup, zejména pro službu, která je již v oběhu.
Abychom tomu zabránili, můžeme použít aliasy indexů, které nám umožňují bezproblémové přepínání mezi indexy.
Jak vytvořit index?
Prvním krokem je zajistit, abyste měli existující index, který chcete aktualizovat.
V tomto kurzu budeme mít starý a nový index, který bude fungovat jako jejich názvy.
PUT / old_index /"settings":
"number_of_shards": 1
,
"aliasy":
"použij mě":
,
„Mapování“:
"vlastnosti":
"název":
"type": "text"
,
"id":
"type": "integer"
,
"paid":
"type": "boolean"
Pro uživatele cURL použijte připojený příkaz:
curl -XPUT "http: // localhost: 9200 / old_index /" -H 'Content-Type: application / json' -d '"nastavení": "number_of_shards": 1, "aliasy": "use_me" : , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type ":" boolean " 'Dále vytvořte nový index, který budeme používat. Zkopírujte všechna nastavení a mapování ze starého indexu jako:
PUT / nový_index"settings":
"number_of_shards": 1
,
"aliasy":
"použij mě":
,
„Mapování“:
"vlastnosti":
"název":
"type": "text"
,
"id":
"type": "integer"
,
"paid":
"type": "objekt"
Zde je příkaz cURL:
curl -XPUT "http: // localhost: 9200 / new_index" -H 'Content-Type: application / json' -d '"nastavení": "number_of_shards": 1, "aliasy": "use_me": , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type" : "objekt" 'Po nastavení a mapování v novém indexu použijte rozhraní reindex api ke zkopírování dat ze starého indexu do nového:
POST _reindex„Source“:
"index": "old_index"
,
"dest":
"index": "new_index"
Zde je příkaz cURL:
curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" 'Nyní zkopírujte alias starého indexu do nového pomocí _alias api jako:
POST / _alias"actions": [
"add": "index": "new_index", "alias": "use_me"
]
Zde je příkaz cURL:
curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Content-Type: application / json' -d '"actions": ["add": "index": "new_index", "alias " : "použij mě" ]'Po dokončení můžete nyní odstranit starý index a aplikace budou používat nový index (kvůli alias) bez výpadků.
Závěr
Jakmile si osvojíte koncepty popsané v tomto kurzu, budete v pozici k reindexování dat ze starého indexu na nový na místě.