Hvordan lage elasticsearch indekser

Hvordan lage elasticsearch indekser
Elasticsearch er en del av den populære elgstabelen som brukes til logganalyse og søk. Applikasjoner og systemer logger stadig data som kan være veldig nyttige for feilsøking og sporingsproblemer. Ved hjelp av elgstabelen har du de beste verktøyene til å utføre disse oppgavene raskt og veldig enkelt.

I denne raske opplæringen vil vi se på Elasticsearch, spesielt hvordan du lager indekser i Elasticsearch -motoren. Selv om du ikke trenger noen omfattende kunnskap om Elk Stack for å følge denne opplæringen, kan det være en fordel å ha en grunnleggende forståelse av følgende emner:

  • Ved hjelp av terminalen, spesifikt, krøll
  • Grunnleggende kunnskap om APIer og JSON
  • Gjør HTTP -forespørsel

MERK: Denne opplæringen forutsetter også at du har installert og kjører på systemet ditt på systemet ditt.

Hva er elasticsearch -indekser?

Uten å forenkle eller overkomplisere ting, er en Elasticsearch -indeks en samling av relaterte JSON -dokumenter.

Som nevnt i et tidligere innlegg, er Elasticsearch-indekser JSON-objekter som vurderes basisenheten i Elasticsearch. Disse relaterte JSON -dokumentene er lagret i en enkelt enhet som utgjør en indeks. Tenk på Elasticsearch -dokumenter som tabeller i en relasjonsdatabase.

La oss relatere en Elasticsearch -indeks som en database i SQL -verdenen.

  • Mysql => databaser => tabeller => kolonner/rader
  • Elasticsearch => indekser => typer => json dokumenter med egenskaper

Hvordan lage en Elasticsearch Index

Elasticsearch bruker et kraftig og intuitivt REST API for å avsløre sine tjenester. Denne funksjonaliteten lar deg bruke HTTP -forespørsler for å utføre operasjoner på Elasticsearch Cluster. Derfor vil vi bruke Create Index API for å opprette en ny indeks.

For denne guiden vil vi bruke Curl for å sende forespørsler og bevare integritet og brukervennlighet for alle brukere. Imidlertid, hvis du møter feil med krøll, kan du vurdere å bruke Kibana -konsoll.

Syntaksen for å opprette en ny indeks i Elasticsearch -klyngen er:

SETTE /

For å opprette en indeks, er alt du trenger å gjøre å passere indeksnavnet uten andre parametere, som oppretter en indeks ved hjelp av standardinnstillinger.

Du kan også spesifisere forskjellige funksjoner i indeksen, for eksempel i indeksorganet:

  • Innstillingene for indeksen
  • Indeksaliaser
  • Kartlegginger for indeksfelt

Indeksnavnet er en nødvendig parameter; Ellers vil du få en feil for uril (/)

Curl -x Sett “Localhost: 9200”
"Feil": "Feil HTTP -metode for URI [/] og metode [Put], tillatt: [Slett, hode, få]", "Status": 405

For å opprette en ny indeks med navnet single_index, gir vi forespørselen:

Put /single_index

For krøll, bruk kommandoen:

Curl -x Put "Localhost: 9200/single_index?ganske"

Denne kommandoen skal resultere i HTTP -status 200 OK og en melding med anerkjent: Sant som:


“Erkjent”: True,
"shards_acknowleded": true,
"Indeks": "single_index"

Forespørselen ovenfor oppretter en indeks single_index med standardinnstillinger, da vi ikke spesifiserte noen konfigurasjoner.

Indeksnavnregler

Når du oppretter navn på Elasticsearch -indekser, må du følge følgende navnestandarder:

  1. Indeksnavnet må bare være i små bokstaver.
  2. Indeksnavnene kan ikke starte med en strek (-), en understrek (_) eller et tilleggsskilt (+)
  3. Navnene kan ikke være . eller…
  4. Indeksnavn kan ikke inkludere spesialtegn som: \, /, *, ?, “,, |,” (Romkarakter) ,, #
  5. Lengden på indeksnavn må være mindre enn 255 byte. Multi-byte-tegn vil telle i den totale lengden på indeksnavnet. For eksempel, hvis en enkelt karakter er 8 byte i lengde, er den totale gjenværende lengden på navnet 255 - 8
  6. I den siste versjonen av Elasticsearch, navn som starter med en . er reservert for skjulte indekser og interne indekser som brukes av Elasticsearch -plugins.

Hvordan lage et indekslegeme

Når du bruker Put -forespørselen for å opprette en indeks, kan du bestå forskjellige argumenter som definerer innstillingene for indeksen du vil ha opprettet. Verdier du kan spesifisere i kroppen inkluderer:

  • Aliaser: Angir aliasnavn for indeksen du vil ha opprettet; Denne parameteren er valgfri.
  • Innstillinger: Dette definerer konfigurasjonsalternativene for indeksen du vil ha opprettet. Hvis du ikke klarer å spesifisere noen parametere, opprettes indeksen ved hjelp av standardkonfigurasjoner.
  • Kartlegginger: Dette definerer kartleggingen for felt i indeksen. Spesifikasjonene du kan inkludere i kartlegginger inkluderer:
    • Feltnavnet
    • Datatypen
    • Kartleggingsparameteren

For et eksempel på å lage en indeks med kroppskonfigurasjoner, bør du vurdere forespørselen nedenfor:

Put /single_index_with_body

"Innstillinger":
"Number_of_shards": 2,
"number_of_replicas": 2
,
“Mappings”:
"egenskaper":
"felt1": "type": "objekt"


For en krøllekvivalent forespørsel:

Curl -xput "http: // localhost: 9200/single_index_with_body" -h 'Content -type: applikasjon/json' -d '"innstillinger": "number_of_shards": 2, "number_of_replicas": 2, "kartlegging" : "egenskaper": "felt1": "type": "objekt" ''

Ovennevnte forespørsel oppretter en ny indeks med navnet single_index_with_body med 2 antall skjær og 2 replikker. Det oppretter også en kartlegging med et felt med feltfelt1 og type som et JSON -objekt.

Når du har sendt forespørselen, vil du få svar med statusen til forespørselen som:


“Erkjent”: True,
"shards_acknowleded": true,
"Indeks": "single_index_with_body"

“Anerkjente” viser om indeksen ble opprettet med suksess i klyngen, mens “Shards_Acknowleded” viser om det nødvendige antallet skjærkopier ble startet for hvert skjær i den spesifiserte indeksen før time -out.

Hvordan se Elasticsearch Index

For å se informasjonen om indeksen du opprettet, bruk en lignende forespørsel som å lage en indeks, men bruk HTTP -metoden i stedet for å sette som:

Få /single_index_with_body

For krøll,

Curl -xget “http: // localhost: 9200/single_index_with_body”

Denne kommandoen vil gi deg detaljert informasjon om den forespurte indeksen som:


"single_index_with_body":
"aliaser": ,
"Mappings":
"egenskaper" :
"Felt1":
"Type": "Objekt"


,
"Innstillinger":
"Indeks":
"Routing":
"tildeling" :
"Inkluder":
"_tier_preference": "data_content"


,
"Number_of_shards": "2",
"Levert_name": "single_index_with_body",
"Creation_date": "1611045687208",
"number_of_replicas": "2",
"UUID": "3TRKO7XMQCSUOOGTB6PXVA",
"Versjon":
"opprettet": "7100299"




Konklusjon

Denne guiden diskuterte hvordan du jobber med Elasticsearch for å lage indeks -API for å lage nye indekser. Vi diskuterte også hvordan du oppretter passende navn for indeksene og konfigurasjonsinnstillingene.

Ved å bruke denne guiden, kan du nå opprette og se indekser ved hjelp av Elasticsearch API.