Amint azonban tudja, ha az adatok indexbe kerülnek, azok nem módosíthatók. Ehhez újra kell indexelnie az adatokat a szükséges módosításokkal. Ez a folyamat leálláshoz vezethet, ami nem túl jó gyakorlat, különösen egy már forgalomban lévő szolgáltatás esetében.
Ennek kijátszására index álneveket használhatunk, amelyek lehetővé teszik a zökkenőmentes váltást az indexek között.
Index létrehozása?
Az első lépés annak biztosítása, hogy létezzen olyan index, amely frissíteni kívánja az adatokat.
Ehhez az oktatóanyaghoz lesz egy régi és új indexünk, amely a nevükként fog működni.
PUT / old_index /"beállítások":
"Shards_of_shards": 1
,
"álnevek":
"használj engem":
,
„Leképezések”:
"tulajdonságok":
"név":
"type": "text"
,
"id":
"type": "integer"
,
"fizetett":
"type": "logikai"
CURL felhasználók számára használja a mellékelt parancsot:
curl -XPUT "http: // localhost: 9200 / old_index /" -H "Tartalom típusa: application / json '-d' " beállítások ": "__sz__szam_ok": 1, "álnevek": "use_me" : , "Leképezések": "tulajdonságok": "név": "típus": "szöveg", "id": "típus": "egész szám", "fizetett": "típus ":" logikai érték " 'Ezután hozzon létre egy új indexet, amelyet használni fogunk. Másolja az összes beállítást és hozzárendelést a régi indexből:
PUT / new_index"beállítások":
"szilánkok száma": 1
,
"álnevek":
"használj engem":
,
„Leképezések”:
"tulajdonságok":
"név":
"type": "text"
,
"id":
"type": "integer"
,
"fizetett":
"type": "object"
Itt van a cURL parancs:
curl -XPUT "http: // localhost: 9200 / new_index" -H 'Tartalomtípus: application / json' -d '"beállítások": "_szeletek_száma ": 1," aliasek ": " use_me ": , "Leképezések": "tulajdonságok": "név": "típus": "szöveg", "id": "típus": "egész szám", "fizetett": "típus" : "tárgy" 'Ha a beállítás és a leképezések az új indexben vannak, a reindex api segítségével másolja át az adatokat a régi indexből az újba:
POST _reindex"forrás":
"index": "old_index"
,
"dest":
"index": "new_index"
Itt van a cURL parancs:
curl -XPOST "http: / localhost: 9200 / _reindex" -H "Tartalomtípus: application / json '-d' " forrás ": " index ":" old_index "," dest ": " index " : "new_index" 'Másolja a régi index álnevét az újba az _alias api használatával:
POST / _aliases"akciók": [
"add": "index": "new_index", "alias": "use_me"
]
Itt van a cURL parancs:
curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Content-Type: application / json' -d '"actions": ["add": "index": "new_index", "alias " : "használj engem" ]'Miután elkészült, most eltávolíthatja a régi indexet, és az alkalmazások (az álnév miatt) leállás nélkül használják az új indexet.
Következtetés
Miután elsajátította az ebben az oktatóanyagban tárgyalt fogalmakat, abban a helyzetben lesz, hogy újraindexelje az adatokat egy régi indexből egy újba a helyén.