Elastisk søk

Hvordan lage elastiske søkindekser

Hvordan lage elastiske søkindekser
Elasticsearch er en del av den populære ELK-stakken som brukes til loggeanalyse og søk. Applikasjoner og systemer logger kontinuerlig data som kan være veldig nyttige for feilsøking og sporing av problemer. Ved å bruke ELK-stakken har du de beste verktøyene for å utføre disse oppgavene raskt og veldig enkelt.

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

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

Hva er elastiske søkindekser?

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

Som nevnt i et forrige innlegg, er Elasticsearch-indekser JSON-objekter, betraktet som baseenheten for lagring 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.

Hvordan lage en Elasticsearch-indeks

Elasticsearch bruker et kraftig og intuitivt REST API for å eksponere sine tjenester. Denne funksjonaliteten lar deg bruke HTTP-forespørsler til å utføre operasjoner på Elasticsearch-klyngen. Derfor vil vi bruke create index API for å opprette en ny indeks.

For denne guiden vil vi bruke cURL til å sende forespørslene og bevare integritet og brukervennlighet for alle brukere. Imidlertid, hvis du støter på feil med cURL, bør du vurdere å bruke Kibana Console.

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

SETTE /

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

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

  • Innstillingene for indeksen
  • Indeksaliaser
  • Kartlegginger for indeksfelt

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

curl -X PUT “localhost: 9200”
"error": "Feil HTTP-metode for uri [/] og metode [PUT], tillatt: [DELETE, HEAD, GET]", "status": 405

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

PUT / single_index

For cURL, bruk kommandoen:

curl -X PUT "localhost: 9200 / single_index?ganske"

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


“Erkjent”: sant,
"shards_acknowledged": sant,
"index": "single_index"

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

Regler for indeksnavn

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

  1. Indeksnavnet må bare være med små bokstaver.
  2. Indeksnavnene kan ikke starte med en bindestrek (-), en understreking (_) eller et tilleggstegn (+)
  3. Navnene kan ikke være det . eller…
  4. Indeksnavn kan ikke inneholde spesialtegn som: \, /, *, ?, “, <, >, |, "(mellomromstegn), ,, #
  5. Lengden på indeksnavn må være mindre enn 255 byte. Multi-byte-tegn teller i den totale lengden på indeksnavnet. For eksempel, hvis et enkelt tegn er 8 byte langt, 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 indeksorgan

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

  • Aliaser: Spesifiserer aliasnavn for indeksen du vil ha opprettet; denne parameteren er valgfri.
  • Innstillinger: Dette definerer konfigurasjonsalternativene for indeksen du vil ha opprettet. Hvis du ikke spesifiserer noen parametere, blir indeksen opprettet 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, kan du vurdere forespørselen nedenfor:

PUT / single_index_with_body

"innstillinger":
"number_of_shards": 2,
"number_of_replicas": 2
,
“Mappings”:
"eiendommer":
"field1": "type": "object"


For en tilsvarende CURL-forespørsel:

krølle -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "mappings" : "egenskaper": "field1": "type": "objekt" '

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

Når du har sendt forespørselen, får du svar med forespørselens status som:


“Erkjent”: sant,
"shards_acknowledged": sant,
"index": "single_index_with_body"

"Godkjent" viser om indeksen ble opprettet i klyngen, mens "shards_acknowledged" viser om det nødvendige antall skjærkopier ble startet for hver skjær i den angitte indeksen før timeout.

Hvordan vise Elasticsearch Index

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

GET / single_index_with_body

For CURL,

krøll -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":
"eiendommer" :
"felt1":
"type": "objekt"


,
"innstillinger":
"indeks":
"ruting":
"tildeling" :
"inkluderer":
"_tier_preference": "data_innhold"


,
"number_of_shards": "2",
"provided_name": "single_index_with_body",
"creation_date": "1611045687208",
"number_of_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"versjon":
"opprettet": "7100299"




Konklusjon

Denne guiden diskuterte hvordan du kan jobbe med Elasticsearch for å lage indeks API for å lage nye indekser. Vi diskuterte også hvordan du lager passende navn for indeksene og konfigurasjonsinnstillingene.

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

Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...
Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...