Elastické vyhľadávanie

Elasticsearch Reindexuje všetky indexy a kontroluje stav

Elasticsearch Reindexuje všetky indexy a kontroluje stav
Pri práci s databázami budete nevyhnutne musieť vykonať zmeny, ako je pridanie, odstránenie alebo úprava údajov.

Keď upravujete údaje v indexe Elasticsearch, môže to viesť k výpadkom, pretože funkcia sa dokončí a údaje sa znova indexujú.

Tento výukový program vám poskytne oveľa lepší spôsob aktualizácie indexov bez toho, aby ste s existujúcim zdrojom údajov zaznamenali akékoľvek výpadky. Pomocou rozhrania API na opätovné indexovanie Elasticsearch skopírujeme údaje z konkrétneho zdroja do druhého.

Začnime.

POZNÁMKA: Než začneme, operácie indexovania sú náročné na zdroje, najmä na veľkých indexoch. Aby ste minimalizovali čas potrebný na opätovnú indexáciu, vypnite počet_počet_replík nastavením hodnoty na 0 a povoľte ich po dokončení procesu.

Povoliť pole _Source

Operácia opätovného indexovania vyžaduje povolenie zdrojového poľa vo všetkých dokumentoch v zdrojovom indexe. Upozorňujeme, že zdrojové pole nie je indexované a nemožno ho prehľadať, ale je užitočné pri rôznych požiadavkách.

Pole _Source povoľte pridaním položky, ako je uvedené nižšie:

PUT index_1

„Mapping“:
"_source":
„enabled“: pravda


Znova indexovať všetky dokumenty

Na opätovnú indexáciu dokumentov musíme určiť zdroj a cieľ. Zdrojom a cieľom môže byť existujúci index, alias indexu a dátové toky. Môžete použiť indexy z lokálneho alebo vzdialeného klastra.

POZNÁMKA: Aby indexovanie prebehlo úspešne, zdroj ani cieľ nemôžu byť podobné. Cieľ musíte tiež nakonfigurovať podľa potreby pred opätovnou indexáciou, pretože neaplikuje nastavenia zo zdroja alebo z akejkoľvek priradenej šablóny.

Všeobecná syntax pre opätovnú indexáciu je nasledovná:

POST / _reindex

Začnime vytvorením dvoch indexov. Prvý bude zdroj a druhý cieľ.

PUT / source_index

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliasy":
"alias_1": ,
"alias_2":
"filter": "term":
"užívateľ.id ":" kibana "
, "smerovanie": "1"


Príkaz cURL je:

curl -XPUT "http: // localhost: 9200 / source_index" -H 'Content-Type: application / json' -d '"settings": "number_of_replicas": 0, "number_of_shards": 1, "mappings" : "_source": "enabled": true, "aliasy": "alias_1": , "alias_2": "filter": "term": "používateľ.id ":" kibana "," routing ":" 1 " '

Teraz pre cieľový index (môžete použiť vyššie uvedený príkaz a zmeniť niekoľko vecí alebo použiť ten, ktorý je uvedený nižšie):

PUT / destination_index

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true, "aliasy":
"alias_3": ,
"alias_4":
"filter": "term":
"užívateľ.id ":" kibana "
, "smerovanie": "1"


Používatelia cURL môžu ako vždy použiť príkaz:

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, "aliasy": "alias_3": , "alias_4": "filter": "term": "používateľ.id ":" kibana "," routing ":" 1 " '

Teraz máme indexy, ktoré chceme použiť, a potom môžeme prejsť na opätovnú indexáciu dokumentov.

Zvážte nižšie uvedenú žiadosť, ktorá kopíruje údaje zo zdrojového_indexu do cieľového_indexu:

POST _reindex

„Zdroj“:
"index": "source_index"
,
"cieľ":
"index": "destination_index"

Príkaz cURL je tento:

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

Vykonanie tohto príkazu by vám malo poskytnúť podrobné informácie o vykonanej operácii.

POZNÁMKA: Zdrojový_index by mal mať údaje.


„vzal“: 2836,
"timed_out": false,
"celkom": 13059,
"aktualizované": 0,
"vytvorené": 13059,
"odstránené": 0,
"dávky": 14,
"version_conflicts": 0,
"noops": 0,
"retries":
"hromadné": 0,
"hľadanie": 0
,
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0,
"nepodarky": []

Kontrola stavu opätovnej indexácie

Stav operácií opätovného indexovania môžete zobraziť jednoducho pomocou úlohy _tasks. Zvážte napríklad žiadosť uvedenú nižšie:

ZÍSKAŤ / _úlohy?podrobne = pravda & akcie = * reindex & skupina_by = rodičia

Príkaz cURL je:

curl -XGET "http: // localhost: 9200 / _tasks?podrobne = pravda & akcie = * reindex & skupina_by = rodičia "

Mali by ste získať podrobné informácie o procese opätovnej indexácie, ako je uvedené nižšie:


"tasks":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"node": "FTd_2iXjSXudN_Ua4tZhHg",
„id“: 51847,
"type": "transport",
"action": "indexy: data / write / reindex",
"postavenie" :
"celkom": 13059,
"aktualizované": 9000,
"vytvorené": 0,
"odstránené": 0,
"dávky": 10,
"version_conflicts": 0,
"noops": 0,
"retries":
"hromadné": 0,
"hľadanie": 0
,
"throttled_millis": 0,
"requests_per_second": -1.0,
"throttled_until_millis": 0
,
"description": "reindex z [source_index] na [destination_index] [_ doc]",
"start_time_in_millis": 1611247308063,
"running_time_in_nanos": 2094157836,
„zrušiteľné“: pravda,
"headers":


Záver

Poskytli sme všetko, čo potrebujete vedieť o používaní rozhrania Elasticsearch Reindexing API na kopírovanie dokumentov z jedného indexu (zdroj) do druhého (cieľ). Aj keď v rozhraní Reindexing API existuje viac, táto príručka by vám mala pomôcť začať.

Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...
Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...
Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...