Elasticsearch og systemer til fuldtekstsøgning · Lektion

Indeksskabeloner og aliaser

Brug indeksskabeloner til automatisk at anvende mappings og indstillinger på nye indekser, og brug aliaser til fleksibel indeksadministration.

Lektion 3 af 411 trin

Indeksskabeloner og aliaser er en gratis Elasticsearch og systemer til fuldtekstsøgning-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Elasticsearch og systemer til fuldtekstsøgning, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.

Intelligent indeksstyring

Efterhånden som din brug af Elasticsearch vokser, kommer du ofte til at arbejde med mange indekser. Det kan være logge, tidsseriedata eller forskellige versioner af dit programs data.

  • Det kan være besværligt og fejlbehæftet manuelt at konfigurere indstillinger (f.eks. antal shards) og mappings (felttyper) for hvert nyt indeks.
  • Det er også en udfordring at ændre det underliggende indeks for et program uden nedetid.

Denne lektion introducerer to effektive funktioner, der gør disse opgaver enklere: indeksskabeloner og aliasser.

Automatisér oprettelse af indekser

Indeksskabeloner fungerer som byggeplaner for nye indekser. De lader dig definere standardindstillinger og mappings, som automatisk anvendes på alle nye indekser, der matcher et angivet mønster.

  • Konsistens: Sikrer, at alle matchende indekser har den samme konfiguration.
  • Automatisering: Du behøver ikke manuelt at oprette mappings eller indstillinger for nye datastrømme.
  • Fleksibilitet: Opdatér nemt skabeloner, hvorefter nye indekser anvender ændringerne.

Det er især nyttigt til håndtering af daglige, ugentlige eller månedlige indekser (f.eks. logs-2023-10-26).

Definition af en indeksskabelon

Du opretter en indeksskabelon ved hjælp af _index_template-API'et. Den vigtigste del er index_patterns, som angiver, hvilke indeksnavne skabelonen skal gælde for.

Her er en grundlæggende skabelon med navnet my_logs_template, som gælder for alle indekser, der begynder med logs-:

PUT _index_template/my_logs_template
{
  "index_patterns": ["logs-*"],
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    },
    "mappings": {
      "properties": {
        "timestamp": {
          "type": "date"
        },
        "message": {
          "type": "text"
        }
      }
    }
  },
  "priority": 50
}

Indstillinger og mappings for skabeloner

I det foregående eksempel kan du se blokken template. Det er her, du definerer de faktiske settings og mappings, som skal anvendes:

  • settings: Styrer konfigurationer på indeksniveau, f.eks. number_of_shards, number_of_replicas eller brugerdefinerede analysatorer.
  • mappings: Definerer, hvordan felter i dokumenter gemmes og indekseres, herunder deres datatyper (f.eks. date, text, keyword).

Feltet priority hjælper med at løse konflikter, hvis flere skabeloner matcher et indeks.

Forstå skabelonprioritet

Hvad sker der, hvis mere end én skabelon matcher navnet på et nyt indeks? Elasticsearch bruger priority til at afgøre, hvilken skabelon der "vinder".

  • Skabeloner med en højere priority har forrang.
  • Hvis modstridende indstillinger eller mappings er defineret i flere matchende skabeloner, anvendes den med den højeste prioritet.
  • Det giver dig mulighed for at oprette generelle skabeloner (lav prioritet) og mere specifikke skabeloner (høj prioritet), der tilsidesætter bestemte indstillinger for visse indeksmønstre.

Du kan også bruge _component_templates til at opbygge genanvendelige blokke med indstillinger og mappings og kombinere dem i sammensatte skabeloner.

Fleksible indeksnavne med aliasser

Indeksaliasser fungerer som symbolske links eller pegere. De giver ét eller flere fysiske indekser et logisk navn.

  • Abstraktion: Dit program arbejder med aliasnavnet, ikke det faktiske indeksnavn.
  • Fleksibilitet: Du kan ændre, hvilket fysisk indeks et alias peger på, uden at opdatere programmets kode.
  • Handlinger uden nedetid: Afgørende ved genindeksering af data eller problemfri skift mellem indeksversioner.

Et alias kan pege på ét eller flere indekser. Det kan også indeholde filtre, der begrænser, hvilke dokumenter der er synlige via aliaset.

Oprettelse og brug af aliasser

Du kan oprette et alias, når du opretter et indeks, eller tilføje det senere ved hjælp af endpointet _alias eller API'et _aliases.

Sådan opretter du et indeks og tildeler det aliaset my_app_data:

PUT my_application_v1
{
  "aliases": {
    "my_app_data": {}
  }
}

// Or adding an alias to an existing index:

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "my_application_v1",
        "alias": "my_app_data"
      }
    }
  ]
}

Dynamisk administration af aliasser

Aliassers virkelige styrke kommer fra deres evne til at blive opdateret atomisk. Du kan tilføje eller fjerne indekser fra et alias i én enkelt forespørgsel.

For eksempel kan du skifte aliaset my_app_data fra my_application_v1 til et nyt indeks, my_application_v2:

POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": "my_application_v1",
        "alias": "my_app_data"
      }
    },
    {
      "add": {
        "index": "my_application_v2",
        "alias": "my_app_data"
      }
    }
  ]
}

Genindeksering uden nedetid

Denne dynamiske aliasadministration er afgørende for genindeksering uden nedetid. Forestil dig, at du skal ændre dit indeks' mapping, hvilket kræver, at du opretter et nyt indeks.

  1. Dit program sender forespørgsler til my_app_data, som peger på my_application_v1.
  2. Du opretter my_application_v2 med den nye mapping og genindekserer data fra my_application_v1 til det.
  3. Når my_application_v2 er klar, bruger du API'et _aliases til atomisk at skifte my_app_data fra my_application_v1 til my_application_v2.
  4. Dit program fortsætter med at sende forespørgsler til my_app_data uden afbrydelse og henter nu data fra det nye indeks.

Til sidst kan du slette det gamle indeks my_application_v1.

Hurtigt tjek

Hvilke af følgende udsagn om Elasticsearchs indeksskabeloner og aliasser er SANDE?

Opsummering af skabeloner og aliasser

Tillykke! Du har lært, hvordan du kan udnytte to avancerede Elasticsearch-funktioner til robust indeksstyring:

  • Indeksskabeloner: Automatiserer anvendelsen af ensartede indstillinger og mappings på nyoprettede indekser baseret på navnemønstre. De sikrer ensartethed og reducerer manuel konfiguration.
  • Indeksaliasser: Tilbyder et abstraktionslag, så dine programmer kan arbejde med et stabilt logisk navn, mens de underliggende fysiske indekser kan ændres. De er afgørende for genindeksering uden nedetid og andre fleksible indeksoperationer.

Det er vigtigt at beherske disse begreber, når du bygger skalerbare og vedligeholdelsesvenlige Elasticsearch-løsninger.

Gratis at komme i gang

Lær Elasticsearch og systemer til fuldtekstsøgning med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Indeksskabeloner og aliaser” gratis?

Ja — alle 3 lektioner i læringssporet Elasticsearch og systemer til fuldtekstsøgning, inklusive “Indeksskabeloner og aliaser”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Elasticsearch og systemer til fuldtekstsøgning-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Indeksskabeloner og aliaser”?

Brug indeksskabeloner til automatisk at anvende mappings og indstillinger på nye indekser, og brug aliaser til fleksibel indeksadministration. Du øver dig i Elasticsearch og systemer til fuldtekstsøgning med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Elasticsearch og systemer til fuldtekstsøgning?

Der kræves ingen tidligere erfaring. Elasticsearch og systemer til fuldtekstsøgning på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Indeksskabeloner og aliaser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Elasticsearch og systemer til fuldtekstsøgning-lektion?

Ja. Alle Elasticsearch og systemer til fuldtekstsøgning-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Tilpasning af feltmappings
  2. Dynamiske kontra eksplicitte mappings
  3. Indeksskabeloner og aliaser
  4. Indlejrede felttyper og objekttyper
← Tilbage til Elasticsearch og systemer til fuldtekstsøgning