Elastne otsing

Elasticsearch Reindexi välja muutmine

Elasticsearch Reindexi välja muutmine

Andmebaasidega töötamine on väga lõbus, kuid mõnikord võib see olla keeruline, eriti juba olemasolevate andmetega tegelemisel.

Näiteks kui soovite muuta konkreetse välja tüüpi, võib see nõuda teenuse mahavõtmist, millel võib olla tõsiseid tagajärgi, eriti teenustes, mis töötlevad suurt hulka andmeid.

Õnneks saame selliste ülesannete lihtsustamiseks kasutada Elasticsearchi võimsaid funktsioone nagu Reindexing, sisestussõlmed, torujuhtmed ja protsessorid.

See õpetus näitab teile, kuidas muuta konkreetse indeksi väljatüüpi teiseks, kasutades Elasticsearch Ingesti sõlme. Selle lähenemisviisi kasutamine välistab teenuseid mõjutavad seisakuid, kuid suudab siiski välitüübi muutmise ülesandeid täita.

Sissejuhatus allaneelamissõlmedesse

Elasticsearchi sisestussõlm võimaldab dokumente enne nende indekseerimist eeltöödelda.

Elasticsearchi sõlm on Elasticsearchi konkreetne eksemplar; ühendatud sõlmed (rohkem kui üks) moodustavad ühe klastri.

Päringus saate vaadata töötavas klastris saadaolevaid sõlme:

GET / _sõlmed /

Selle jaoks on käsk cURL:

curl -XGET “http: // localhost: 9200 / _nodes /”

Selle käsu täitmine peaks teile pakkuma massiivset teavet sõlmede kohta, nagu allpool näidatud (kärbitud väljund):


"_nodes":
"kokku": 3,
"edukas": 3,
"nurjus": 0
,
"klastri_nimi": "22e0bee6ef91461d82d9b0f1b4b13b4a",
"sõlmed":
"gSlMjTKyTemoOX-EO7Em4w":
"nimi": "eksemplar-0000000003",
"transpordiaadress": "172.28.86.133: 19925 ",
"host": "172.28.86.133 ",
"ip": "172.28.86.133 ",
"versioon": "7.10.2 ",
"build_flavor": "vaikimisi",
"build_type": "dokkija",
"build_hash": "747e1cc71def077253878a59143c1f785afa92b9",
"total_indexing_buffer": 214748364,
"rollid": [
"andmed",
"data_cold",
"data_content",
"data_hot",
"data_warm",
"neelama",
"kapten",
"remote_cluster_client",
"Muundama"
],
"atribuudid":
"loogiline_saadatavuse_tsoon": "tsoon-0",
"serveri_nimi": "eksemplar-0000000003.22e0bee6ef91461d82d9b0f1b4b13b4a ",
"availability_zone": "us-west-1c",
"xpack.installitud ":" true ",
"eksemplari_konfiguratsioon": "aws.andmed.highio.i3 ",
"muundama.sõlm ":" tõene ",
"piirkond": "us-lääne-1"
,
"seaded":
"s3":
"klient":
"elastne-sisemine-22e0be":
"lõpp-punkt": "s3-us-west-1.amazonaws.com "


,
--------------------------------väljund kärbitud---------------------

Vaikimisi võimaldavad kõik Elasticsearchi sõlmed sisestamist ja suudavad allaneelamistoiminguid hallata. Kuid raskete sissevõtmisoperatsioonide jaoks saate luua ühe sõlme, mis on pühendatud ainult sissevõtmisele.

Pre_processiga toimetulekuks peame enne dokumentide indekseerimist määratlema torujuhtme, milles on eeltöötlejate seeria.

Eeltöötlejad on torujuhtme ümber keeratud käskude komplektid, mis täidetakse ükshaaval.

Järgmine on torujuhtme määratlemise üldine süntaks:


"description": "Teisenda mind",
"töötlejad": [
"teisenda":
"field": "id",
"tüüp": "täisarv"
]

Atribuudi kirjeldus ütleb, mida gaasijuhe peaks saavutama. Järgmine parameeter on eeltöötlejad, mis edastatakse loendina nende täitmise järjekorras.

Looge torujuhtme teisendamine

Torujuhtme loomiseks, mida kasutame tüübi teisendamiseks, kasutage PING-taotlust koos _ingest API lõpp-punktiga järgmiselt:

PUT _ingest / pipeline / convert_pipeline

“Description”: “teisendab välja dayOfWeek välja pikaks täisarvust”,
"töötlejad": [

"teisenda":
"väli": "dayOfWeek",
"tüüp": "pikk"


]

CURLi jaoks kasutage käsku:

curl -XPUT "http: // localhost: 9200 / _ingest / pipeline / convert_pipeline" -H 'Content-Type: application / json' -d '"description": "teisendab välja dayOfWeek pikaks täisarvust", " protsessorid ": [" convert ": " field ":" dayOfWeek "," type ":" long "] '

Reindex ja teisenda Tüüp

Kui gaasijuhe on sisestussõlmes olemas, peame vaid kutsuma indekseerimise API ja edastama torujuhtme argumendina päringu keha järgmises vormis:

POST _reindex

"Allikas":
"register": "kibana_näidis_andmete_lennud"
,
"dest":
"register": "kibana_sample_type_diff",
"pipeline": "convert_pipeline"

CURLi jaoks:

curl -XPOST "http: // localhost: 9200 / _reindex" -H 'Sisu-tüüp: application / json' -d '"source": "index": "kibana_sample_data_flights", "dest": "register ":" kibana_sample_type_diff "," pipeline ":" convert_pipeline " '

 Kontrollige konversiooni

Torujuhtme õigesti rakendamise kontrollimiseks kasutage GET-päringut selle konkreetse välja toomiseks järgmiselt:

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

See peaks tagastama andmed järgmiselt:

-----------------------ALGPÕHINE INDEKS---------------------------

"kibana_sample_data_flights":
"kaardistused":
"dayOfWeek":
"full_name": "dayOfWeek",
"kaardistamine":
"dayOfWeek":
"tüüp": "täisarv"






-------------------------UUENDATUD ANDMED-------------------------------

"kibana_sample_type_diff":
"kaardistused":
"dayOfWeek":
"full_name": "dayOfWeek",
"kaardistamine":
"dayOfWeek":
"tüüp": "pikk"





Järeldus

Selles juhendis oleme uurinud, kuidas töötada koos Elasticsearch Ingesti sõlmedega dokumentide eeltöötlemiseks enne indekseerimist, teisendades seega välja ühelt tüübilt teisele.

Lisateabe saamiseks kaaluge dokumentatsiooni.

https: // www.elastne.co / guide / et / elasticsearch / reference / master / ingest.HTML

Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...