Sinonimi e stemming
Migliori il richiamo nella ricerca full-text insegnando a Elasticsearch le varianti e gli equivalenti delle parole tramite filtri token di stemming e filtri per sinonimi.
Sinonimi e stemming è una lezione Elasticsearch & Full Text Search Systems gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Elasticsearch & Full Text Search Systems, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Elasticsearch & Full Text Search Systems include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Closing the Vocabulary Gap
Users rarely type the exact words stored in your documents. They search running but your text says run, or they type laptop when the doc says notebook. Two analysis techniques bridge this gap: stemming and synonyms.
What Stemming Does
Stemming reduces words to a common root form. running, runs, and ran may all become run. This means a query matches regardless of the grammatical form used.
Algorithmic Stemmers
Elasticsearch ships algorithmic stemmers like porter_stem and the language-aware stemmer filter. They apply rules to strip suffixes quickly without a dictionary.
"filter": {
"my_stemmer": {
"type": "stemmer",
"language": "english"
}
}Dictionary Stemmers
Dictionary stemmers such as hunspell use real word lists for more accurate, linguistically correct roots. They are slower and need dictionary files but avoid over-stemming.
Over- and Under-Stemming
Stemming has failure modes:
- Over-stemming: unrelated words map to the same root (e.g.
universeanduniversity). - Under-stemming: related words fail to share a root.
Use keyword_marker to protect specific words from stemming.
What Synonyms Do
Synonyms map words with the same meaning to each other. Searching tv can match television. They are applied via a synonym token filter in the analyzer chain.
"filter": {
"my_synonyms": {
"type": "synonym",
"synonyms": [ "tv, television", "laptop, notebook" ]
}
}Equivalent vs Explicit
Synonym rules come in two styles:
- Equivalent (
tv, television): all terms are interchangeable. - Explicit (
i-pod => ipod, music player): the left maps to the right only.
Index-Time vs Search-Time
Synonyms can be applied when indexing or when searching. Search-time synonyms (via synonym_graph) are preferred because you can update the list without re-indexing the whole corpus.
"filter": {
"graph_syns": {
"type": "synonym_graph",
"synonyms_path": "analysis/synonyms.txt"
}
}Multi-Word Synonyms
Multi-word synonyms like ny, new york need the graph-aware synonym_graph filter at search time to be tokenized correctly. The older synonym filter mishandles phrases.
Combining Both
A typical chain applies synonyms first, then stemming, after lowercasing. Order matters: stem after expanding synonyms so all variants get normalized consistently.
"my_analyzer": {
"tokenizer": "standard",
"filter": [ "lowercase", "graph_syns", "my_stemmer" ]
}Testing With _analyze
Always verify your chain with the _analyze API to confirm the produced tokens match your expectations before relying on it in production.
GET my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "running televisions"
}Quick Check
Test your understanding of recall-boosting filters.
Recap
You learned to widen search recall:
- Stemming reduces word forms to a shared root; watch for over/under-stemming.
- Synonyms map equivalent terms; equivalent vs explicit rules behave differently.
- Prefer
synonym_graphat search time for editable, multi-word-safe synonyms. - Verify analyzer output with the
_analyzeAPI.
Impara Elasticsearch & Full Text Search Systems con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 12
- Lezioni
- 48
Domande Frequenti
La lezione «Sinonimi e stemming» è gratuita?
Sì — il testo completo di «Sinonimi e stemming» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Elasticsearch & Full Text Search Systems, passa a CoddyKit PRO. Il corso Elasticsearch & Full Text Search Systems include 4 lezioni in totale.
Cosa imparerò in «Sinonimi e stemming»?
Migliori il richiamo nella ricerca full-text insegnando a Elasticsearch le varianti e gli equivalenti delle parole tramite filtri token di stemming e filtri per sinonimi. Eserciti Elasticsearch & Full Text Search Systems con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Elasticsearch & Full Text Search Systems?
Non è richiesta alcuna esperienza precedente. Elasticsearch & Full Text Search Systems su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Sinonimi e stemming»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Elasticsearch & Full Text Search Systems?
Sì. Ogni lezione Elasticsearch & Full Text Search Systems include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Analyzer, tokenizer e filtri
- Personalizzazione degli analizzatori di testo
- Boost e calcolo della rilevanza
- Sinonimi e stemming