Elastīgā meklēšana

Elasticsearch Reindex visus indeksus un pārbaudiet statusu

Elasticsearch Reindex visus indeksus un pārbaudiet statusu
Strādājot ar datu bāzēm, jums neizbēgami jāveic izmaiņas, piemēram, datu pievienošana, noņemšana un modificēšana.

Pārveidojot datus Elasticsearch indeksā, tas var novest pie dīkstāves, jo funkcionalitāte tiek pabeigta un dati tiek atjaunoti.

Šī apmācība sniegs jums daudz labāku veidu, kā atjaunināt indeksus, neradot dīkstāves ar esošo datu avotu. Izmantojot Elasticsearch atkārtotās indeksēšanas API, mēs kopēsim datus no konkrēta avota uz citu.

Ļaujiet mums sākt darbu.

PIEZĪME: Pirms mēs sākam darbu, Reindexing operācijas ir daudz resursu, īpaši attiecībā uz lieliem indeksiem. Lai samazinātu reindeksēšanai nepieciešamo laiku, atspējojiet repliku skaitu, iestatot vērtību 0 un iespējojot tās, kad process ir pabeigts.

Iespējot lauku _ avots

Veicot operāciju Reindexing, visiem avota indeksa dokumentiem ir jāiespējo avota lauks. Ņemiet vērā, ka avota lauks nav indeksēts un to nevar meklēt, bet tas ir noderīgs dažādiem pieprasījumiem.

Iespējojiet lauku _Source, pievienojot ierakstu, kā parādīts zemāk:

PUT index_1

“Kartējumi”:
"_source":
"iespējots": taisnība


Reindex visi dokumenti

Lai reindexētu dokumentus, mums jānorāda avots un galamērķis. Avots un galamērķis var būt esošs indekss, indeksa aizstājvārds un datu straumes. Varat izmantot vietējā vai attālā klastera indeksus.

PIEZĪME: Lai indeksēšana notiktu veiksmīgi, gan avots, gan galamērķis nevar būt līdzīgi. Jums arī jākonfigurē galamērķis pirms reindexing, jo tas nepiemēro avota vai saistītās veidnes iestatījumus.

Reindexing vispārējā sintakse ir šāda:

POST / _reindex

Sāksim ar divu indeksu izveidi. Pirmais būs avots, bet otrs būs galamērķis.

PUT / source_index

"iestatījumi": "kopiju skaits": 0, "šķembu skaits": 1,
"kartējumi": "_source": "enabled": true, "aliases":
"alias_1": ,
"alias_2":
"filtrs": "termins":
"lietotājs.id ":" kibana "
, "routing": "1"


CURL komanda ir:

čokurošanās -XPUT "http: // localhost: 9200 / source_index" -H 'Content-Type: application / json' -d '"settings": "Rep_licence_summer": 0, "_shardu_numurs ": 1," kartējumi " : "_source": "enabled": true, "aliases": "alias_1": , "alias_2": "filter": "term": "lietotājs.id ":" kibana "," routing ":" 1 " '

Tagad par galamērķa indeksu (varat izmantot iepriekš minēto komandu un mainīt dažas lietas vai izmantot tālāk norādīto):

PUT / destination_index

"iestatījumi": "kopiju skaits": 0, "šķembu skaits": 1,
"kartējumi": "_source": "enabled": true, "aliases":
"alias_3": ,
"alias_4":
"filtrs": "termins":
"lietotājs.id ":" kibana "
, "routing": "1"


Kā vienmēr, cURL lietotāji var izmantot komandu:

čokurošanās -XPUT "http: // localhost: 9200 / destination_index" -H 'Satura tips: pieteikums / json' -d '"iestatījumi": "Kopiju skaits": 0, "Kopiju skaits": 1 "," Kartējumi " : "_source": "enabled": true, "aliases": "alias_3": , "alias_4": "filter": "term": "lietotājs.id ":" kibana "," routing ":" 1 " '

Tagad mums ir indeksi, kurus mēs vēlamies izmantot, un pēc tam mēs varam pāriet uz dokumentu atkārtotu indeksēšanu.

Apsveriet tālāk norādīto pieprasījumu, kas kopē datus no source_index uz destination_index:

POST _reindex

“Avots”:
"index": "source_index"
,
"dest":
"index": "destination_index"

CURL komanda tam ir:

čokurošanās -XPOST "http: // localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": ".kibana "," dest ": " index ":" destination_index " '

Izpildot šo komandu, jums jāsniedz detalizēta informācija par veikto darbību.

PIEZĪME: Source_index jābūt datiem.


"ņēma": 2836,
"timed_out": nepatiesa,
"kopā": 13059,
"atjaunināts": 0,
"izveidots": 13059,
"dzēsts": 0,
"partijas": 14,
"versija_konflikti": 0,
"noops": 0,
"mēģina atkārtoti":
"beztaras": 0,
"meklēt": 0
,
"throttled_millis": 0,
"pieprasījumi_sekunde": -1.0,
"throttled_until_millis": 0,
"neveiksmes": []

Reindexing statusa pārbaude

Reindexing darbību statusu varat apskatīt, vienkārši izmantojot _tasks. Piemēram, apsveriet tālāk minēto pieprasījumu:

GET / _uzdevumi?detalizēts = patiess & darbības = * reindex & group_by = vecāki

CURL komanda ir:

čokurošanās -XGET "http: // localhost: 9200 / _tasks?detalizēts = patiess & darbības = * reindex & group_by = vecāki "

Tam vajadzētu sniegt detalizētu informāciju par Reindexing procesu, kā parādīts zemāk:


"uzdevumi":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"mezgls": "FTd_2iXjSXudN_Ua4tZhHg",
"id": 51847,
"type": "transport",
"action": "indeksi: dati / rakstīšana / reindex",
"status":
"kopā": 13059,
"atjaunināts": 9000,
"izveidots": 0,
"dzēsts": 0,
"partijas": 10,
"versija_konflikti": 0,
"noops": 0,
"mēģina atkārtoti":
"beztaras": 0,
"meklēt": 0
,
"throttled_millis": 0,
"pieprasījumi_sekunde": -1.0,
"throttled_until_millis": 0
,
"description": "reindex no [source_index] uz [destination_index] [_ doc]",
"start_time_in_millis": 1611247308063,
"running_time_in_nanos": 2094157836,
"atceļams": taisnība,
"galvenes":


Secinājums

Mēs esam izskatījuši visu, kas jums jāzina par Elasticsearch Reindexing API izmantošanu, lai kopētu dokumentus no viena indeksa (avota) uz citu (galamērķi). Lai gan Reindexing API ir vairāk, šī rokasgrāmata palīdzēs jums sākt darbu.

Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...
Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...
Labākās Linux spēļu gamepad kartēšanas lietotnes
Ja jums patīk spēlēt spēles Linux ar parastu tastatūru, nevis parasto tastatūru un peles ievades sistēmu, jums ir dažas noderīgas lietotnes. Daudzas d...