Elasticsearch -indeksien luominen

How Create Elasticsearch Indices



Elasticsearch on osa suosittua ELK -pinoa, jota käytetään lokin analysointiin ja hakuun. Sovellukset ja järjestelmät kirjaavat jatkuvasti tietoja, jotka voivat olla erittäin hyödyllisiä vianetsinnässä ja seurannassa. ELK -pinon avulla sinulla on parhaat työkalut näiden tehtävien suorittamiseen nopeasti ja helposti.

Tässä nopeassa opetusohjelmassa tarkastelemme Elasticsearchia, erityisesti indeksien luomista Elasticsearch -moottoriin. Vaikka et tarvitse mitään kattavaa tietoa ELK -pinoista tämän opetusohjelman noudattamiseksi, seuraavien aiheiden perustiedot voivat olla hyödyllisiä:







  • Päätelaitteen avulla erityisesti cURL
  • Perustiedot sovellusliittymistä ja JSONista
  • HTTP -pyynnön tekeminen

HUOMAUTUS: Tässä opetusohjelmassa oletetaan myös, että Elasticsearch on asennettu ja käynnissä järjestelmässäsi.



Mitä ovat Elasticsearch -indeksit?

Yksinkertaistamatta tai liian monimutkaisia ​​asioita Elasticsearch -indeksi on kokoelma asiaan liittyviä JSON -asiakirjoja.



Kuten edellisessä viestissä mainittiin, Elasticsearch -indeksit ovat JSON -objekteja, joita pidetään Elasticsearchin tallennustilan perusyksikkönä. Nämä liittyvät JSON -asiakirjat tallennetaan yhteen yksikköön, joka muodostaa indeksin. Ajattele Elasticsearch -asiakirjoja taulukoina relaatiotietokannassa.





Yhdistetään Elasticsearch -indeksi tietokannaksi SQL -maailmassa.

  • MySQL => Tietokannat => Taulukot => Sarakkeet/rivit
  • Elasticsearch => Indeksit => Tyypit => Ominaisuuksilla varustetut JSON -asiakirjat

Elasticsearch -indeksin luominen

Elasticsearch käyttää tehokkaita ja intuitiivisia REST -sovellusliittymiä palvelujensa paljastamiseen. Tämän toiminnon avulla voit käyttää HTTP -pyyntöjä toimintojen suorittamiseen Elasticsearch -klusterissa. Siksi käytämme indeksin luomista sovellusliittymää uuden indeksin luomiseen.



Tässä oppaassa käytämme cURL: ää pyyntöjen lähettämiseen ja säilytämme eheyden ja käytettävyyden kaikille käyttäjille. Jos kuitenkin ilmenee cURL -virheitä, harkitse Kibana Consolen käyttöä.

Syntaksi uuden indeksin luomiseksi Elasticsearch -klusterissa on:

PUT /

Indeksin luomiseksi sinun tarvitsee vain välittää indeksin nimi ilman muita parametreja, mikä luo indeksin oletusasetuksilla.

Voit myös määrittää erilaisia ​​indeksin ominaisuuksia, kuten hakemiston rungossa:

  • Hakemiston asetukset
  • Indeksialiakset
  • Hakemistokenttien määritykset

Indeksin nimi on pakollinen parametri; muutoin saat virheen URIL: lle (/)

curl -X PUT paikallinen isäntä: 9200
{'error': 'Virheellinen HTTP -menetelmä uri [/]: lle ja menetelmälle [PUT], sallittu: [DELETE, HEAD, GET]', 'status': 405}

Luodaksemme uuden hakemiston nimeltä single_index, välitämme pyynnön:

PUT /single_index

Käytä komentoa cURL:

curl -X PUT 'localhost: 9200/single_index? pretty'

Tämän komennon pitäisi johtaa HTTP -tilaan 200 OK ja viestiin, jonka kuittaus: true on:

{
tunnustettu: totta,
'shards_acknowgedged': totta,
'index': 'single_index'
}

Yllä oleva pyyntö luo indeksin single_index oletusasetuksilla, koska emme määrittäneet mitään kokoonpanoja.

Indeksin nimeämissäännöt

Kun luot nimiä Elasticsearch -indekseille, sinun on noudatettava seuraavia nimeämisstandardeja:

  1. Indeksin nimen on oltava vain pieniä kirjaimia.
  2. Hakemistonimet eivät voi alkaa viivalla (-), alaviivalla (_) tai lisäysmerkillä (+)
  3. Nimet eivät voi olla. tai ..
  4. Hakemistonimet eivät voi sisältää erikoismerkkejä, kuten: , /, *,?,,, |, `` (Välilyönti), ,, #
  5. Hakemistonimien pituuden on oltava alle 255 tavua. Monitavuiset merkit lasketaan hakemistonimen kokonaispituuteen. Jos esimerkiksi yksi merkki on 8 tavua pitkä, nimen jäljellä oleva kokonaispituus on 255 - 8
  6. Elasticsearchin uusimmassa versiossa nimet, jotka alkavat a. on varattu Elasticsearch -laajennusten käyttämille piilotetuille indekseille ja sisäisille indekseille.

Indeksirungon luominen

Kun käytät PUT -pyyntöä indeksin luomiseen, voit välittää erilaisia ​​argumentteja, jotka määrittävät luomasi hakemiston asetukset. Rungossa määritettävät arvot ovat:

  • Aliakset: Määrittää luomasi hakemiston aliasnimet; tämä parametri on valinnainen.
  • Asetukset: Tämä määrittää luomasi hakemiston kokoonpanovaihtoehdot. Jos et määritä mitään parametreja, hakemisto luodaan oletusasetuksilla.
  • Kartoitukset: Tämä määrittää indeksin kenttien kuvauksen. Kartoituksiin sisällytettävät tekniset tiedot ovat:
    • Kentän nimi
    • Tietotyyppi
    • Kartoitusparametri

Seuraavassa pyynnössä on esimerkki kehon määrityksillä varustetun indeksin luomisesta:

PUT /single_index_with_body
{
'asetukset': {
'kovien lukumäärä': 2,
'numeroiden_määräys': 2
},
kartoitukset: {
'ominaisuudet': {
'field1': {'type': 'object'}
}
}
}

CURL -vastaavaa pyyntöä varten:

curl -XPUT 'http: // localhost: 9200/single_index_with_body' -H 'Content -Type: application/json' -d '{' settings ': {' number_of_shards ': 2,' number_of_replicas ': 2},' kartoitus ' : {'properties': {'field1': {'type': 'object'}}}} '

Yllä oleva pyyntö luo uuden hakemiston nimeltä single_index_with_body, jossa on 2 kappaletta ja 2 kopiota. Se luo myös kartoituksen, jossa on nimikenttä1 ja kirjoitetaan JSON -objektina.

Kun olet lähettänyt pyynnön, saat vastauksen, jossa on pyynnön tila:

{
tunnustettu: totta,
'shards_acknowgedged': totta,
'index': 'single_index_with_body'
}

Kuitattu osoittaa, onko indeksi luotu onnistuneesti klusterissa, kun taas shards_acknowled osoittaa, käynnistettiinkö vaadittu määrä sirpaleiden kopioita jokaisesta määritetyn hakemiston sirpaleesta ennen aikakatkaisua.

Elasticsearch -indeksin katsominen

Jos haluat tarkastella luomasi hakemiston tietoja, käytä samanlaista pyyntöä kuin indeksin luominen, mutta käytä HTTP -menetelmää PUT: n sijasta seuraavasti:

GET /single_index_with_body

CURL,

curl -XGET http: // localhost: 9200/single_index_with_body

Tämä komento antaa yksityiskohtaisia ​​tietoja pyydetystä hakemistosta seuraavasti:

{
'single_index_with_body': {
'aliakset': {},
'kartoitukset': {
'ominaisuudet': {
'field1': {
'type': 'objekti'
}
}
},
'asetukset' : {
'indeksi' : {
'reititys': {
'allokointi': {
'sisältää' : {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'Provided_name': 'single_index_with_body',
'creation_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'versio': {
'luotu': '7100299'
}
}
}
}
}

Johtopäätös

Tässä oppaassa keskusteltiin siitä, miten Elasticsearchin kanssa luodaan indeksisovellusliittymä uusien indeksien luomiseksi. Keskustelimme myös siitä, kuinka luoda sopivia nimiä indekseille ja kokoonpanoasetuksille.

Tämän oppaan avulla voit nyt luoda ja tarkastella indeksejä Elasticsearch -sovellusliittymän avulla.