Rugalmas keresés

Elasticsearch Reindex minden index és ellenőrizze az állapotot

Elasticsearch Reindex minden index és ellenőrizze az állapotot
Ha adatbázisokkal dolgozik, akkor elkerülhetetlenül változtatásokat kell végrehajtania, például adatok hozzáadásával, eltávolításával és módosításával.

Ha az Elasticsearch indexben módosítja az adatokat, az leálláshoz vezethet, mivel a funkcionalitás befejeződik és az adatok újraindexálódnak.

Ez az oktatóanyag sokkal jobb módszert kínál az indexek frissítésére anélkül, hogy a meglévő adatforrással bármilyen leállást tapasztalna. Az Elasticsearch újraindexelő API segítségével adatokat másolunk egy adott forrásból egy másikba.

Kezdjük.

JEGYZET: Mielőtt belekezdenénk, a Reindexing műveletek erőforrás-igényesek, különösen nagy indexek esetén. A Reindexinghez szükséges idő minimalizálása érdekében tiltsa le a replikák számát úgy, hogy 0-ra állítja az értéket, és engedélyezi azokat a folyamat befejezése után.

Engedélyezze a _Forrás mezőt

A Reindexing művelethez a forrásmező engedélyezése szükséges a forrásindex összes dokumentumán. Vegye figyelembe, hogy a forrásmező nincs indexelve és nem kereshető, de hasznos különféle kérések esetén.

Engedélyezze a _Forrás mezőt egy bejegyzés hozzáadásával az alábbiak szerint:

PUT index_1

„Leképezések”:
"_forrás":
"engedélyezve": igaz


Reindex Minden dokumentum

A dokumentumok újraindexeléséhez meg kell adnunk a forrást és a célt. A forrás és a cél lehet meglévő index, index álnév és adatfolyam. Használhatja a helyi vagy egy távoli fürt indexeit.

JEGYZET: Az indexelés sikeres végrehajtásához mind a forrás, mind a cél nem lehet hasonló. A Reindexing előtt szükség szerint konfigurálnia kell a rendeltetési helyet is, mert az nem alkalmazza a forrás vagy bármely társított sablon beállításait.

A Reindexing általános szintaxisa a következő:

POST / _reindex

Kezdjük két index létrehozásával. Az első lesz a forrás, a másik pedig a cél.

PUT / forrás_index

"beállítások": "replikák száma": 0, "szilánkok száma": 1,
"leképezések": "_source": "enabled": true, "álnevek":
"alias_1": ,
"alias_2":
"szűrő": "kifejezés":
"felhasználó.id ":" kibana "
, "routing": "1"


A cURL parancs:

curl -XPUT "http: // localhost: 9200 / source_index" -H "Tartalom-típus: application / json '-d' " beállítások ": " Replikák száma ": 0," Shards_of_shards ": 1," leképezések " : "_source": "enabled": true, "aliases": "alias_1": , "alias_2": "filter": "term": "user.id ":" kibana "," routing ":" 1 " '

Most a célindexről (használhatja a fenti parancsot, és módosíthat néhány dolgot, vagy használhatja az alábbiakat):

PUT / destination_index

"beállítások": "replikák száma": 0, "szilánkok száma": 1,
"leképezések": "_source": "enabled": true, "álnevek":
"alias_3": ,
"alias_4":
"szűrő": "kifejezés":
"felhasználó.id ":" kibana "
, "routing": "1"


Mint mindig, a cURL felhasználók is használhatják a következő parancsot:

curl -XPUT "http: // localhost: 9200 / destination_index" -H 'Tartalomtípus: application / json' -d '"beállítások": "Replikák száma": 0, "Szilánkok száma: 1", "leképezések" : "_source": "enabled": true, "aliases": "alias_3": , "alias_4": "filter": "term": "felhasználó.id ":" kibana "," routing ":" 1 " '

Megvannak az általunk használni kívánt indexek, majd továbbléphetünk a dokumentumok újraszövegezésére.

Vegye figyelembe az alábbi kérést, amely az adatokat a source_index és a destination_index között másolja:

POST _reindex

"forrás":
"index": "forrás_index"
,
"dest":
"index": "cél_index"

A cURL parancs erre:

curl -XPOST "http: // localhost: 9200 / _reindex" -H 'Tartalomtípus: application / json' -d '"forrás": "index": ".kibana "," dest ": " index ":" destination_index " '

A parancs végrehajtása részletes információkat nyújt az elvégzett műveletről.

JEGYZET: A forrás_indexnek tartalmaznia kell adatokat.


"vette": 2836,
"timed_out": hamis,
"összesen": 13059,
"frissítve": 0,
"létrehozva": 13059,
"törölt": 0,
"tételek": 14,
"verzió_konfliktusok": 0,
"noops": 0,
"újrapróbálkozik":
"tömeges": 0,
"keresés": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0,
"kudarcok": []

Reindexing állapotának ellenőrzése

A Reindexing műveletek állapotát a _feladatok használatával tekintheti meg. Vegye figyelembe például az alábbi kérést:

GET / _feladatok?részletes = true & actions = * reindex & group_by = szülők

A cURL parancs:

curl -XGET "http: // localhost: 9200 / _feladatok?részletes = true & actions = * reindex & group_by = szülők "

Ennek részletes információkat kell adnia az Reindexing folyamatról az alábbiak szerint:


"feladatok":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"csomópont": "FTd_2iXjSXudN_Ua4tZhHg",
"id": 51847,
"type": "transport",
"action": "indexek: data / write / reindex",
"status":
"összesen": 13059,
"frissítve": 9000,
"létrehozva": 0,
"törölt": 0,
"tételek": 10,
"verzió_konfliktusok": 0,
"noops": 0,
"újrapróbálkozik":
"tömeges": 0,
"keresés": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0
,
"description": "reindex a [forrás_index] és a [cél_index] [_ doc] között",
"start_time_in_millis": 1611247308063,
"running_time_in_nanos": 2094157836,
"törölhető": igaz,
"fejlécek":


Következtetés

Áttekintettünk mindent, amit tudnia kell az Elasticsearch Reindexing API használatáról a dokumentumok egyik indexből (forrásból) a másikba (cél) másolásához. Bár a Reindexing API-n még több van, ez az útmutató segít az indulásban.

SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...
Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...
0 A.D. Bemutató
A sok stratégiai játék közül 0 A.D. átfogó címként és nagyon mély, taktikus játékként képes kiemelkednie annak ellenére, hogy nyílt forráskódú. A játé...