Elastična pretraga

Elasticsearch ponovno indeksira sve indekse i provjeri status

Elasticsearch ponovno indeksira sve indekse i provjeri status
Kada radite s bazama podataka, neizbježno ćete morati izvršiti promjene poput dodavanja, uklanjanja i izmjene podataka.

Kada mijenjate podatke u indeksu Elasticsearch, to može dovesti do zastoja jer se funkcija dovršava i podaci se reindeksiraju.

Ovaj vodič će vam pružiti puno bolji način ažuriranja indeksa bez napuštanja postojećeg izvora podataka. Korištenjem API-ja za ponovno indeksiranje Elasticsearch kopirat ćemo podatke iz određenog izvora u drugi.

Krenimo.

BILJEŠKA: Prije nego što započnemo, operacije ponovnog indeksiranja su velike resurse, posebno na velikim indeksima. Da biste smanjili vrijeme potrebno za ponovno indeksiranje, onemogućite number_of_replicas postavljanjem vrijednosti na 0 i omogućite ih nakon završetka postupka.

Omogući polje _Source

Operacija ponovnog indeksiranja zahtijeva omogućavanje polja izvora na svim dokumentima u indeksu izvora. Imajte na umu da se izvorno polje ne indeksira i ne može se pretraživati, ali je korisno za razne zahtjeve.

Omogućite polje _Source dodavanjem unosa kao što je prikazano dolje:

PUT indeks_1

“Preslikavanja”:
"_izvor":
"omogućeno": true


Ponovno indeksirajte sve dokumente

Da bismo indeksirali dokumente, moramo navesti izvor i odredište. Izvor i odredište mogu biti postojeći indeks, pseudonim indeksa i tokovi podataka. Možete koristiti indekse iz lokalnog ili udaljenog klastera.

BILJEŠKA: Da bi se indeksiranje uspješno dogodilo, i izvor i odredište ne mogu biti slični. Odredište morate konfigurirati prema potrebi prije ponovnog indeksiranja, jer ne primjenjuje postavke iz izvora ili bilo kojeg povezanog predloška.

Opća sintaksa ponovnog indeksiranja je sljedeća:

POST / _reindex

Krenimo od stvaranja dva indeksa. Prvi će biti izvor, a drugi odredište.

PUT / izvorni_indeks

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliases":
"alias_1": ,
"alias_2":
"filter": "pojam":
"korisnik.id ":" kibana "
, "usmjeravanje": "1"


Naredba cURL je:

curl -XPUT "http: // localhost: 9200 / source_index" -H 'Content-Type: application / json' -d '"settings": "number_of_replicas": 0, "number_of_shards": 1, "preslikavanja" : "_source": "enabled": true, "aliases": "alias_1": , "alias_2": "filter": "term": "korisnik.id ":" kibana "," usmjeravanje ":" 1 " '

Sada za odredišni indeks (možete upotrijebiti gornju naredbu i promijeniti nekoliko stvari ili upotrijebiti dolje navedenu):

PUT / odredišni_indeks

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliases":
"alias_3": ,
"alias_4":
"filter": "pojam":
"korisnik.id ":" kibana "
, "usmjeravanje": "1"


Kao i uvijek, korisnici cURL-a mogu koristiti naredbu:

curl -XPUT "http: // localhost: 9200 / destination_index" -H 'Content-Type: application / json' -d '"settings": "number_of_replicas": 0, "number_of_shards": 1, "mappings" : "_source": "enabled": true, "aliases": "alias_3": , "alias_4": "filter": "term": "korisnik.id ":" kibana "," usmjeravanje ":" 1 " '

Sada imamo indekse koje želimo koristiti, a zatim možemo prijeći na ponovno indeksiranje dokumenata.

Razmotrite zahtjev u nastavku koji kopira podatke iz source_index u destination_index:

OBJAVI _reindex

"Izvor":
"index": "source_index"
,
"dest":
"index": "odredište_indeks"

Naredba cURL za ovo je:

curl -XPOST "http: // localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": ".kibana "," dest ": " index ":" odredište_index " '

Izvršavanje ove naredbe treba vam dati detaljne informacije o provedenoj operaciji.

BILJEŠKA: Source_index trebao bi imati podatke.


"uzeo": 2836,
"timed_out": netačno,
"ukupno": 13059,
"ažurirano": 0,
"stvoreno": 13059,
"izbrisano": 0,
"šarže": 14,
"version_conflicts": 0,
"petlje": 0,
"ponovni pokušaji":
"skupno": 0,
"pretraga": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0,
"neuspjesi": []

Provjera statusa ponovnog indeksiranja

Status operacija ponovnog indeksiranja možete vidjeti jednostavnim korištenjem _tasks. Na primjer, razmotrite zahtjev u nastavku:

DOBITI / _zadatke?detaljno = true & actions = * reindex & group_by = roditelji

Naredba cURL je:

curl -XGET "http: // localhost: 9200 / _tasks?detaljno = true & actions = * reindex & group_by = roditelji "

To bi vam trebalo dati detaljne informacije o postupku ponovnog indeksiranja kako je prikazano u nastavku:


"zadaci":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"čvor": "FTd_2iXjSXudN_Ua4tZhHg",
"id": 51847,
"type": "transport",
"action": "indeksi: podaci / pisanje / ponovni indeks",
"status":
"ukupno": 13059,
"ažurirano": 9000,
"stvoreno": 0,
"izbrisano": 0,
"serije": 10,
"version_conflicts": 0,
"petlje": 0,
"ponovni pokušaji":
"skupno": 0,
"pretraga": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0
,
"description": "reindex iz [source_index] u [destination_index] [_ doc]",
"vrijeme_početka_u_milisu": 1611247308063,
"run_time_in_nanos": 2094157836,
"Cancellable": istina,
"zaglavlja":


Zaključak

Pokrili smo sve što trebate znati o korištenju API-ja za ponovno indeksiranje Elasticsearch za kopiranje dokumenata iz jednog indeksa (izvor) u drugi (odredište). Iako API za ponovno indeksiranje sadrži još nešto, ovaj vodič trebao bi vam pomoći da započnete.

Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...
Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...
Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...