Joustava haku

Elasticsearch Reindex Muuta kentän tyyppi

Elasticsearch Reindex Muuta kentän tyyppi

Työskentely tietokantojen kanssa on erittäin hauskaa, mutta voi joskus olla haastavaa, varsinkin kun käsitellään jo olemassa olevia tietoja.

Jos esimerkiksi haluat muuttaa tietyn kentän tyyppiä, se saattaa vaatia palvelun poistamista, mikä voi aiheuttaa vakavia seurauksia etenkin palveluissa, jotka käsittelevät suuria määriä dataa.

Onneksi voimme käyttää Elasticsearchin tehokkaita ominaisuuksia, kuten Reindexing, ingest-solmut, putkistot ja prosessorit, jotta tällaiset tehtävät olisivat erittäin helppoja.

Tämä opetusohjelma näyttää, kuinka voit muuttaa tietyn hakemiston kenttätyypin toiseen käyttämällä Elasticsearch Ingest -solmuja. Tämän lähestymistavan käyttö eliminoi seikat, jotka vaikuttavat palveluihin samalla, kun onnistut silti suorittamaan kenttätyyppimuutostehtävät.

Johdanto syömis solmuihin

Elasticsearchin ingest-solmun avulla voit esikäsitellä asiakirjat ennen niiden indeksointia.

Elasticsearch-solmu on erityinen Elasticsearch-esiintymä; yhdistetyt solmut (useampi kuin yksi) muodostavat yhden klusterin.

Voit tarkastella käynnissä olevan klusterin solmuja pyynnöstä:

GET / _solmut /

Tämän CURL-komento on:

käpristyminen -XGET “http: // localhost: 9200 / _nodes /”

Tämän komennon suorittamisen pitäisi antaa sinulle massiivista tietoa solmuista, kuten alla on esitetty (katkaistu lähtö):


"_nodes":
"yhteensä": 3,
"onnistunut": 3,
"epäonnistui": 0
,
"klusterin_nimi": "22e0bee6ef91461d82d9b0f1b4b13b4a",
"solmut":
"gSlMjTKyTemoOX-EO7Em4w":
"nimi": "esimerkki-0000000003",
"kuljetusosoite": "172.28.86.133: 19925 ",
"isäntä": "172.28.86.133 ",
"ip": "172.28.86.133 ",
"version": "7.10.2 ",
"build_flavor": "oletus",
"build_type": "telakointiasema",
"build_hash": "747e1cc71def077253878a59143c1f785afa92b9",
"total_indexing_buffer": 214748364,
"roolit": [
"data",
"data_cold",
"data_content",
"data_hot",
"data_lämmin",
"niellä",
"hallita",
"remote_cluster_client",
"muuttaa"
],
"attributes":
"looginen_käytettävyysalue": "vyöhyke-0",
"palvelimen_nimi": "ilmentymä-0000000003.22e0bee6ef91461d82d9b0f1b4b13b4a ",
"availability_zone": "us-west-1c",
"xpack.asennettu ":" true ",
"ilmentymän määritys": "aws.tiedot.highio.i3 ",
"muuttaa.solmu ":" totta ",
"alue": "us-länsi-1"
,
"asetukset" :
"s3":
"asiakas" :
"elastinen-sisäinen-22e0be":
"päätepiste": "s3-us-west-1.amazonaws.com "


,
--------------------------------ulostulo katkaistu---------------------

Oletusarvoisesti kaikki Elasticsearch-solmut mahdollistavat tiedonsiirron ja pystyvät käsittelemään syötetoimintoja. Raskaisiin nauttimistoimintoihin voit kuitenkin luoda yhden solmun, joka on tarkoitettu vain nauttimiseen.

Pre_processin käsittelemiseksi meidän on määriteltävä ennen dokumenttien indeksointia putki, joka ilmoittaa esikäsittelijöiden sarjan.

Esiprosessorit ovat sarjaa käskyjä, jotka on kääritty putkilinjan ympärille ja jotka suoritetaan yksi kerrallaan.

Seuraava on yleinen syntaksi putken määrittelemisestä:


"description": "Muunna minut",
"prosessorit": [
"muuntaa" :
"field": "id",
"type": "kokonaisluku"
]

Kuvausominaisuus kertoo putkilinjan saavutettavuuden. Seuraava parametri on esiprosessorit, jotka välitetään luettelona niiden suoritusjärjestyksessä.

Luo Muunna putki

Luo putki, jota käytämme tyypin muuntamiseen, käyttämällä PUT-pyyntöä _ingest API -päätepisteenä seuraavasti:

PUT _ingest / pipeline / convert_pipeline

"Description": "muuntaa kentän dayOfWeek kentän pitkäksi kokonaisluvusta",
"prosessorit": [

"muuntaa" :
"field": "dayOfWeek",
"type": "long"


]

Käytä cURL-komentoa komennolla:

curl -XPUT "http: // localhost: 9200 / _ingest / pipeline / convert_pipeline" -H 'Sisältötyyppi: application / json' -d '"description": "muuntaa dayOfWeek-kentän pitkäksi kokonaisluvusta", " prosessorit ": [" convert ": " field ":" dayOfWeek "," type ":" long "] '

Reindex ja Muunna Tyyppi

Kun putkijohto on syötetyssä solmussa, meidän on vain kutsuttava indeksointirajapinta ja välitettävä putkilinja argumenttina pyynnön rungossa:

POST _reindex

"lähde":
"index": "kibana_sample_data_flights"
,
"dest":
"index": "kibana_sample_type_diff",
"pipeline": "convert_pipeline"

CURL:

käpristyminen -XPOST "http: // localhost: 9200 / _reindex" -H 'Sisältötyyppi: application / json' -d '"lähde": "index": "kibana_sample_data_flights", "dest": "index ":" kibana_sample_type_diff "," pipeline ":" convert_pipeline " '

 Vahvista tulos

Varmista, että putki on asennettu oikein, hakemalla kyseinen kenttä GET-pyynnön avulla:

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

Tämän pitäisi palauttaa tiedot seuraavasti:

-----------------------ALKUPERÄINEN HAKEMISTO---------------------------

"kibana_sample_data_flights":
"kartoitukset":
"viikonpäivä" :
"full_name": "dayOfWeek",
"kartoitus" :
"viikonpäivä" :
"type": "kokonaisluku"






-------------------------UUDELLEEN LISÄTIEDOT-------------------------------

"kibana_sample_type_diff":
"kartoitukset":
"viikonpäivä" :
"full_name": "dayOfWeek",
"kartoitus" :
"viikonpäivä" :
"type": "long"





Johtopäätös

Tässä oppaassa olemme tarkastelleet, kuinka työskennellä Elasticsearch Ingest -solmujen kanssa asiakirjojen esikäsittelyä varten ennen indeksointia, jolloin kenttä muunnetaan tyypistä toiseen.

Harkitse lisätietoja oppimisesta.

https: // www.joustava.co / guide / fi / elasticsearch / reference / master / ingest.html

Best Linux Distros for Gaming in 2021
The Linux operating system has come a long way from its original, simple, server-based look. This OS has immensely improved in recent years and has no...
Kuinka siepata ja suoratoistaa pelisessiosi Linuxissa
Aikaisemmin pelaamista pidettiin vain harrastuksena, mutta ajan myötä pelialalla tapahtui valtava kasvu tekniikan ja pelaajien määrän suhteen. Peliala...
Parhaat pelit, joita voi seurata käsien seurannalla
Oculus Quest esitteli äskettäin loistavan ajatuksen seurannasta ilman ohjaimia. Yhä kasvavan määrän pelejä ja aktiviteetteja, jotka tukevat tukea joko...