Elasticsearch: indeksering og søk
Lær det grunnleggende om Elasticsearch, en distribuert motor for søk og analyse. Forstå hvordan dokumenter indekseres og grunnleggende spørringer utføres.
Elasticsearch: indeksering og søk er en gratis leksjon i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.
Velkommen til Elasticsearch!
Velkommen til den første leksjonen om ELK Stack! Vi begynner med Elasticsearch, «E-en» i ELK.
Elasticsearch er en kraftig, åpen kildekodebasert, distribuert søke- og analyseplattform. Den er utviklet for å lagre, søke i og analysere store datamengder raskt.
- Distribuert: Kjører på flere servere.
- Sanntid: Data blir tilgjengelige for søk nesten umiddelbart.
- Skalerbar: Håndterer enkelt økende databehov.
Data som JSON-dokumenter
Elasticsearch lagrer data som JSON-dokumenter. Se på et dokument som én enkelt post, omtrent som en rad i en database, men med større fleksibilitet.
Hvert dokument er en samling felt (nøkkel-verdi-par) og kan inneholde ulike datatyper, blant annet tekst, tall, datoer og til og med andre JSON-objekter.
Her er et enkelt eksempel på et dokument:
{"user": "alice", "message": "Hello CoddyKit!"}Forstå indekser
I Elasticsearch organiseres dokumenter i indekser. En indeks tilsvarer omtrent en database i et relasjonelt databasesystem eller en samling i en NoSQL-database.
Du kan ha flere indekser, og hver indeks kan lagre dokumenter som er delvis relatert til hverandre. Du kan for eksempel ha én indeks for «logger» og en annen for «produkter».
- En indeks er et logisk navneområde.
- Den grupperer lignende dokumenter.
- Du søker i bestemte indekser.
Indekser ditt første dokument
Indeksering er prosessen med å legge til eller oppdatere dokumenter i en Elasticsearch-indeks. Når du indekserer et dokument, lagrer Elasticsearch det og gjør det søkbart.
Hvert dokument trenger en unik ID i indeksen. Hvis du ikke oppgir en, genererer Elasticsearch en for deg.
Vi bruker HTTP API-kall, vanligvis med PUT- eller POST-forespørsler, for å kommunisere med Elasticsearch.
Eksempel på indeksering av et dokument
La oss indeksere et enkelt loggdokument i en indeks som heter my_logs. Vi angir ID-en 1.
Prøv å kjøre denne kommandoen (forutsatt at Elasticsearch kjører på localhost:9200):
curl -X PUT "localhost:9200/my_logs/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"timestamp": "2023-10-27T10:00:00Z",
"level": "info",
"message": "Application started successfully"
}'Hent dokumenter etter ID
Når et dokument er indeksert, kan du hente det ved hjelp av den unike ID-en. Dette er nyttig når du vet nøyaktig hvilket dokument du vil hente.
For å hente et dokument sender du en HTTP-forespørsel med GET til endepunktet for den bestemte indeksen og dokument-ID-en.
Denne operasjonen går svært raskt, fordi Elasticsearch kan hente dokumentet direkte.
Eksempel på henting av et dokument
La oss hente dokumentet vi nettopp indekserte med ID-en 1 fra indeksen my_logs.
Kjør denne kommandoen for å se det lagrede dokumentet:
curl -X GET "localhost:9200/my_logs/_doc/1?pretty"Introduksjon til søk
Den virkelige styrken til Elasticsearch ligger i søkefunksjonene. I stedet for å kjenne en ID vil du ofte finne dokumenter basert på innholdet deres.
Du kan søke i alle dokumenter i én eller flere indekser ved hjelp av ulike spørringstyper. Elasticsearch bruker et spørringsspråk basert på JSON.
- Finn dokumenter ved hjelp av nøkkelord.
- Filtrer etter datointervaller eller bestemte verdier.
- Kombiner flere søkekriterier.
Grunnleggende søk: Match All
Den enkleste søkespørringen er match_all-spørringen. Den returnerer alle dokumenter i den angitte indeksen.
Dette brukes ofte for å kontrollere at dokumenter er riktig indeksert, eller som utgangspunkt for mer komplekse spørringer.
Du sender en HTTP-forespørsel med GET til _search-endepunktet for indeksen din.
Eksempel på Match All-spørring
La oss søke etter alle dokumentene i indeksen my_logs. Du får se dokumentet vi indekserte tidligere.
Kjør denne kommandoen:
curl -X GET "localhost:9200/my_logs/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'Kort sjekk av indeksering
Du har lært om dokumenter og indekser, og hvordan du indekserer og henter data. La oss teste forståelsen din av indeksering.
Oppsummering: Indeksering og grunnleggende søk
Godt jobbet! I denne leksjonen har du lært det grunnleggende om Elasticsearch:
- Elasticsearch er en distribuert søke- og analyseplattform.
- Data lagres som JSON-dokumenter.
- Dokumenter organiseres i indekser.
- Indeksering legger til eller oppdaterer dokumenter ved hjelp av
PUT/POST-forespørsler. - Dokumenter kan hentes etter ID ved hjelp av
GET-forespørsler. - Grunnleggende søk kan utføres med spørringer som
match_all.
Deretter skal vi se nærmere på Logstash, «L-en» i ELK, for å ta inn og behandle data!
Lær deg Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Elasticsearch: indeksering og søk» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), inkludert «Elasticsearch: indeksering og søk», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.
Hva lærer jeg i «Elasticsearch: indeksering og søk»?
Lær det grunnleggende om Elasticsearch, en distribuert motor for søk og analyse. Forstå hvordan dokumenter indekseres og grunnleggende spørringer utføres. Du øver på Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)?
Ingen tidligere erfaring er nødvendig. Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Elasticsearch: indeksering og søk»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjonen?
Ja. Alle Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Elasticsearch: indeksering og søk
- Logstash: inntak og behandling av data
- Kibana: visualisering og dashbord
- Beats: Lettvekts datafrakt