Elasticsearch: indexering och sökning
Lär dig grunderna i Elasticsearch, en distribuerad motor för sökning och analys. Förstå hur dokument indexeras och hur grundläggande frågor körs.
Elasticsearch: indexering och sökning är en gratis lektion i Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) innehåller totalt 4 lektioner.
Välkommen till Elasticsearch!
Välkommen till den första lektionen om ELK Stack! Vi börjar med Elasticsearch, alltså ”E” i ELK.
Elasticsearch är en kraftfull, distribuerad sök- och analysmotor med öppen källkod. Den är utformad för att snabbt lagra, söka i och analysera stora datamängder.
- Distribuerad: Körs över flera servrar.
- Realtid: Data blir tillgängliga för sökning nästan omedelbart.
- Skalbar: Hanterar enkelt växande datamängder.
Data som JSON-dokument
Elasticsearch lagrar data som JSON-dokument. Tänk på ett dokument som en enskild post, ungefär som en rad i en databas, men mer flexibel.
Varje dokument är en samling fält (nyckel-värde-par) och kan innehålla olika datatyper, inklusive text, tal, datum och även andra JSON-objekt.
Här är ett enkelt exempel på ett dokument:
{"user": "alice", "message": "Hello CoddyKit!"}Förstå index
I Elasticsearch organiseras dokument i index. Ett index motsvarar ungefär en databas i ett relationsdatabassystem eller en collection i en NoSQL-databas.
Du kan ha flera index, och varje index kan lagra dokument som hör ihop på något sätt. Du kan till exempel ha ett index för ”logs” och ett annat för ”products”.
- Ett index är ett logiskt namnområde.
- Det grupperar liknande dokument.
- Du söker i specifika index.
Indexera ditt första dokument
Indexering är processen att lägga till eller uppdatera dokument i ett Elasticsearch-index. När du indexerar ett dokument lagrar Elasticsearch det och gör det sökbart.
Varje dokument behöver ett unikt ID inom sitt index. Om du inte anger något ID genererar Elasticsearch ett åt dig.
Vi använder HTTP API-anrop, vanligtvis med PUT- eller POST-förfrågningar, för att kommunicera med Elasticsearch.
Exempel på indexering av ett dokument
Vi indexerar ett enkelt loggdokument i ett index som heter my_logs. Vi anger ID:t 1.
Prova att köra det här kommandot (förutsatt att Elasticsearch körs 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"
}'Hämta dokument med ID
När ett dokument har indexerats kan du hämta det med dess unika ID. Det är användbart när du vet exakt vilket dokument du vill hämta.
För att hämta ett dokument skickar du en HTTP GET-förfrågan till slutpunkten för det specifika indexet och dokumentets ID.
Den här åtgärden går mycket snabbt eftersom Elasticsearch kan hämta dokumentet direkt.
Exempel på hämtning av ett dokument
Vi hämtar dokumentet som vi nyss indexerade med ID 1 från indexet my_logs.
Kör det här kommandot för att se det lagrade dokumentet:
curl -X GET "localhost:9200/my_logs/_doc/1?pretty"Introduktion till sökning
Elasticsearchs verkliga styrka ligger i dess sökfunktioner. I stället för att känna till ett ID vill du ofta hitta dokument utifrån deras innehåll.
Du kan söka i alla dokument i ett index (eller i flera index) med hjälp av olika frågetyper. Elasticsearch använder ett JSON-baserat frågespråk.
- Hitta dokument med hjälp av nyckelord.
- Filtrera efter datumintervall eller specifika värden.
- Kombinera flera sökkriterier.
Grundläggande sökning: Matcha alla
Den enklaste sökfrågan är frågan match_all. Den returnerar alla dokument i det angivna indexet.
Den används ofta för att kontrollera att dokument har indexerats korrekt eller som utgångspunkt för mer komplexa frågor.
Du skickar en HTTP GET-förfrågan till slutpunkten _search för ditt index.
Exempel på frågan Match All
Vi söker efter alla dokument i vårt index my_logs. Du får se dokumentet som vi indexerade tidigare.
Kör det här kommandot:
curl -X GET "localhost:9200/my_logs/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'Snabb kontroll av indexering
Du har lärt dig om dokument och index samt hur du indexerar och hämtar data. Nu testar vi din förståelse av indexering.
Sammanfattning: Indexering och grundläggande sökning
Bra jobbat! I den här lektionen har du lärt dig grunderna i Elasticsearch:
- Elasticsearch är en distribuerad sök- och analysmotor.
- Data lagras som JSON-dokument.
- Dokument organiseras i index.
- Indexering lägger till eller uppdaterar dokument med hjälp av
PUT/POST-förfrågningar. - Dokument kan hämtas med sitt ID genom
GET-förfrågningar. - Grundläggande sökning kan göras med frågor som
match_all.
Härnäst går vi djupare in på Logstash, alltså ”L” i ELK, för att samla in och bearbeta data!
Lär dig Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Elasticsearch: indexering och sökning” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry), inklusive ”Elasticsearch: indexering och sökning”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) innehåller totalt 4 lektioner.
Vad lär jag mig i ”Elasticsearch: indexering och sökning”?
Lär dig grunderna i Elasticsearch, en distribuerad motor för sökning och analys. Förstå hur dokument indexeras och hur grundläggande frågor körs. Ni övar på Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry)?
Du behöver inga förkunskaper. Utbildningen i Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Elasticsearch: indexering och sökning”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry)-lektionen?
Ja. Varje Systemobservabilitet: loggning, mätvärden och tracing (ELK + OpenTelemetry)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Elasticsearch: indexering och sökning
- Logstash: datainläsning och bearbetning
- Kibana: visualisering och dashboards
- Beats: lättviktiga dataöverförare