Rugalmas keresés

Elasticsearch Reindex a helyén

Elasticsearch Reindex a helyén
Az elasztikus keresés indexelése fontos funkció, amely lehetővé teszi a motor gyors és pontos működését.

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.

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...