Elastīgā meklēšana

Elasticsearch Reindex lauka veida maiņa

Elasticsearch Reindex lauka veida maiņa

Darbs ar datu bāzēm ir ļoti jautri, bet dažreiz tas var būt sarežģīts, it īpaši, ja tiek izmantoti jau esošie dati.

Piemēram, ja vēlaties mainīt konkrēta lauka tipu, tas var prasīt, lai pakalpojums tiktu noņemts, kam var būt nopietnas sekas, it īpaši pakalpojumos, kas apstrādā lielu datu apjomu.

Par laimi, mēs varam izmantot Elasticsearch jaudīgās funkcijas, piemēram, Reindexing, ievadīšanas mezglus, cauruļvadus un procesorus, lai šādus uzdevumus padarītu ļoti vienkāršus.

Šī apmācība parādīs, kā mainīt lauka tipu noteiktā rādītājā uz citu, izmantojot mezglus Elasticsearch Ingest. Šīs pieejas izmantošana novērsīs dīkstāves, kas ietekmē pakalpojumus, vienlaikus pārvaldot lauka tipa maiņas uzdevumu izpildi.

Ievads ievadīšanas mezglos

Elasticsearch iesūtīšanas mezgls ļauj iepriekš apstrādāt dokumentus pirms to indeksēšanas.

Elasticsearch mezgls ir īpašs Elasticsearch gadījums; savienoti mezgli (vairāk nekā viens) veido vienu kopu.

Izmantojot pieprasījumu, varat apskatīt darbības mezglā pieejamos mezglus:

GET / _nodes /

CURL komanda tam ir:

čokurošanās -XGET “http: // localhost: 9200 / _nodes /”

Izpildot šo komandu, jums jāsniedz plaša informācija par mezgliem, kā parādīts zemāk (saīsinātā izvade):


"_nodes":
"kopā": 3,
"veiksmīgs": 3,
"neizdevās": 0
,
"cluster_name": "22e0bee6ef91461d82d9b0f1b4b13b4a",
"mezgli":
"gSlMjTKyTemoOX-EO7Em4w":
"name": "instance-0000000003",
"transport_address": "172.28.86.133: 19925 ",
"saimnieks": "172.28.86.133 ",
"ip": "172.28.86.133 ",
"versija": "7.10.2 ",
"build_flavor": "noklusējums",
"build_type": "docker",
"build_hash": "747e1cc71def077253878a59143c1f785afa92b9",
"total_indexing_buffer": 214748364,
"lomas": [
"dati",
"data_cold",
"data_content",
"data_hot",
"data_warm",
"norīt",
"meistars",
"remote_cluster_client",
“Pārveidot”
],
"atribūti":
"logiska_pieejamības_zona": "zona-0",
"servera_nosaukums": "instance-0000000003.22e0bee6ef91461d82d9b0f1b4b13b4a ",
"availability_zone": "us-west-1c",
"xpack.instalēts ":" true ",
"instances_konfigurācija": "aws.dati.highio.i3 ",
"pārveidot.mezgls ":" patiess ",
"reģions": "us-west-1"
,
"iestatījumi" :
"s3":
"klients" :
"elastīgs-iekšējs-22e0be":
"galapunkts": "s3-us-west-1.amazonaws.com "


,
--------------------------------izeja saīsināta---------------------

Pēc noklusējuma visi Elasticsearch mezgli iespējo uzņemšanu un spēj apstrādāt norīšanas darbības. Tomēr lielām uzņemšanas darbībām varat izveidot vienu mezglu, kas paredzēts tikai uzņemšanai.

Lai apstrādātu pre_process, pirms dokumentu indeksēšanas mums ir jādefinē cauruļvads, kurā norādītas priekšapstrādātāju sērijas.

Priekšapstrādātāji ir instrukciju komplekti, kas aptīti cauruļvadā un tiek izpildīti pa vienam.

Tālāk ir sniegta vispārīga sintakse, kā definēt cauruļvadu:


"description": "Pārvērst mani",
"procesori": [
"pārveidot":
"field": "id",
"type": "integer"
]

Apraksta rekvizīts pasaka, kas cauruļvadam jāsasniedz. Nākamais parametrs ir pirmapstrādes procesori, kas tiek nodoti kā saraksts to izpildes secībā.

Izveidojiet konvertēšanas cauruļvadu

Lai izveidotu cauruļvadu, kuru izmantosim, lai pārveidotu tipu, izmantojiet PUT pieprasījumu ar _ingest API galapunktu kā:

PUT _ingest / pipeline / convert_pipeline

“Apraksts”: “lauku dayOfWeek pārveido par garu no vesela skaitļa”,
"pārstrādātāji": [

"pārveidot":
"field": "dayOfWeek",
"tips": "garš"


]

CURL izmantojiet komandu:

čokurošanās -XPUT "http: // localhost: 9200 / _ingest / pipeline / convert_pipeline" -H 'Content-Type: application / json' -d '"description": "lauks dayOfWeek pārveido par garu no vesela skaitļa" procesori ": [" convert ": " field ":" dayOfWeek "," type ":" long "] '

Reindex un konvertēšana Tips

Kad cauruļvads atrodas ievadīšanas mezglā, viss, kas mums jādara, ir izsaukt indeksēšanas API un nodot cauruļvadu kā argumentu pieprasījuma pamatteksta adresē:

POST _reindex

“Avots”:
"index": "kibana_sample_data_flights"
,
"dest":
"index": "kibana_sample_type_diff",
"cauruļvads": "convert_pipeline"

CURL:

čokurošanās -XPOST "http: // localhost: 9200 / _reindex" -H 'Content-Type: application / json' -d '"source": "index": "kibana_sample_data_flights", "dest": "index ":" kibana_sample_type_diff "," pipeline ":" convert_pipeline " '

 Pārbaudiet reklāmguvumu

Lai pārbaudītu, vai cauruļvads ir piemērots pareizi, izmantojiet GET pieprasījumu, lai ielādētu šo konkrēto lauku kā:

GET / kibana_sample_data_flights / _mapping / field / dayOfWeek
GET / kibana_sample_type_diff / _mapping / field / dayOfWeek

Tam vajadzētu atgriezt datus kā:

-----------------------ORIGINAL INDEX---------------------------

"kibana_sample_data_flights":
"kartējumi":
"dayOfWeek":
"full_name": "dayOfWeek",
"kartēšana":
"dayOfWeek":
"type": "integer"






-------------------------PIEVIENOTIE DATI-------------------------------

"kibana_sample_type_diff":
"kartējumi":
"dayOfWeek":
"full_name": "dayOfWeek",
"kartēšana":
"dayOfWeek":
"tips": "garš"





Secinājums

Šajā ceļvedī mēs esam apskatījuši, kā strādāt ar Elasticsearch Ingest mezgliem, lai pirms indeksēšanas sagatavotu dokumentus, tādējādi pārveidojot lauku no viena veida citā.

Apsveriet dokumentāciju, lai uzzinātu vairāk.

https: // www.elastīgs.co / guide / lv / elasticsearch / reference / master / ingest.html

Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...
Vidējā peles poga nedarbojas sistēmā Windows 10
The peles vidējā poga palīdz jums ritināt garas tīmekļa lapas un ekrānus ar lielu datu daudzumu. Ja tas apstājas, jūs galu galā izmantosiet tastatūru,...