Elastické vyhledávání

Elasticsearch Reindex na místě

Elasticsearch Reindex na místě
Elasticsearch indexování je důležitá funkce, která umožňuje motoru pracovat rychle a přesně.

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ě.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...