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.
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.
universeochuniversity). - 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_graphvid sökning för redigerbara synonymer med säkert stöd för flera ord. - Verifiera analyservärden med API:et
_analyze.
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
- Analysatorer, tokeniserare och filter
- Anpassa textanalysverktyg
- Boostning och relevanspoäng
- Synonymer och stemming