Elasticsearch och system för fulltextsökning · Lektion

Synonymer och stemming

Förbättra återkallningen i fulltextsökning genom att lära Elasticsearch om ordvarianter och likvärdiga ord med tokenfilter för stemming och synonymfilter.

Lektion 4 av 413 steg

Synonymer och stemming är en gratis lektion i Elasticsearch och system för fulltextsökning på CoddyKit. Detta är lektion 4 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 Elasticsearch och system för fulltextsökning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Elasticsearch och system för fulltextsökning innehåller totalt 4 lektioner.

Överbrygga vokabulärgapet

Användare skriver sällan exakt de ord som finns lagrade i dina dokument. De söker efter running medan texten innehåller run, eller skriver laptop när dokumentet innehåller notebook. Två analystekniker överbryggar detta gap: stemming och synonymer.

Vad stemming gör

Stemming reducerar ord till en gemensam rotform. running, runs och ran kan alla bli run. Det innebär att en fråga matchar oavsett vilken grammatisk form som används.

Algoritmiska stemmers

Elasticsearch levereras med algoritmiska stemmers som porter_stem och det språkmedvetna filtret stemmer. De tillämpar regler för att snabbt ta bort suffix utan en ordlista.

"filter": {
  "my_stemmer": {
    "type": "stemmer",
    "language": "english"
  }
}

Ordboksbaserade stemmers

Ordboksbaserade stemmers som hunspell använder riktiga ordlistor för mer exakta och språkligt korrekta rötter. De är långsammare och behöver ordboksfiler, men undviker överdriven stemming.

Över- och understemming

Stemming har vissa fallgropar:

  • Överstemming: orelaterade ord mappas till samma rot (t.ex. universe och university).
  • Understemming: relaterade ord får inte en gemensam rot.

Använd keyword_marker för att skydda specifika ord från stemming.

Vad synonymer gör

Synonymer mappar ord med samma betydelse till varandra. En sökning efter tv kan matcha television. De tillämpas via ett synonym-tokenfilter i analyseringskedjan.

"filter": {
  "my_synonyms": {
    "type": "synonym",
    "synonyms": [ "tv, television", "laptop, notebook" ]
  }
}

Ekvivalenta kontra explicita

Synonymregler finns i två varianter:

  • Ekvivalenta (tv, television): alla termer är utbytbara.
  • Explicita (i-pod => ipod, music player): den vänstra sidan mappas endast till den högra.

Vid indexering kontra sökning

Synonymer kan tillämpas vid indexering eller sökning. Synonymer vid sökning (via synonym_graph) föredras eftersom du kan uppdatera listan utan att indexera om hela korpusen.

"filter": {
  "graph_syns": {
    "type": "synonym_graph",
    "synonyms_path": "analysis/synonyms.txt"
  }
}

Synonymer med flera ord

Synonymer med flera ord, som ny, new york, behöver det graforienterade filtret synonym_graph vid sökning för att tokeniseras korrekt. Det äldre filtret synonym hanterar fraser felaktigt.

Kombinera båda

En typisk kedja tillämpar synonymer först och därefter stemming, efter att texten har konverterats till gemener. Ordningen spelar roll: utför stemming efter att synonymerna har expanderats, så att alla varianter normaliseras konsekvent.

"my_analyzer": {
  "tokenizer": "standard",
  "filter": [ "lowercase", "graph_syns", "my_stemmer" ]
}

Testa med _analyze

Verifiera alltid din kedja med API:et _analyze för att bekräfta att de skapade tokenen motsvarar dina förväntningar innan du förlitar dig på den i produktion.

GET my_index/_analyze
{
  "analyzer": "my_analyzer",
  "text": "running televisions"
}

Snabbkontroll

Testa din förståelse av filter som ökar träffmängden.

Sammanfattning

Du har lärt dig att bredda sökningens träffmängd:

  • Stemming reducerar ordformer till en gemensam rot; var uppmärksam på över- och understemming.
  • Synonymer mappar ekvivalenta termer; ekvivalenta och explicita regler fungerar olika.
  • Föredra synonym_graph vid sökning för redigerbara synonymer med säkert stöd för flera ord.
  • Verifiera analyservärden med API:et _analyze.
Gratis att börja

Lär dig Elasticsearch och system för fulltextsökning 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 ”Synonymer och stemming” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Elasticsearch och system för fulltextsökning, inklusive ”Synonymer och stemming”, 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 Elasticsearch och system för fulltextsökning innehåller totalt 4 lektioner.

Vad lär jag mig i ”Synonymer och stemming”?

Förbättra återkallningen i fulltextsökning genom att lära Elasticsearch om ordvarianter och likvärdiga ord med tokenfilter för stemming och synonymfilter. Ni övar på Elasticsearch och system för fulltextsökning 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 Elasticsearch och system för fulltextsökning?

Du behöver inga förkunskaper. Utbildningen i Elasticsearch och system för fulltextsökning 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 4 av 4.

Hur lång tid tar lektionen ”Synonymer och stemming”?

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 Elasticsearch och system för fulltextsökning-lektionen?

Ja. Varje Elasticsearch och system för fulltextsökning-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

  1. Analysatorer, tokeniserare och filter
  2. Anpassa textanalysverktyg
  3. Boostning och relevanspoäng
  4. Synonymer och stemming
← Tillbaka till Elasticsearch och system för fulltextsökning