Bird
Raised Fist0
Elasticsearchquery~5 mins

Token filters (lowercase, stemmer, synonym) in Elasticsearch - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the lowercase token filter do in Elasticsearch?
The lowercase token filter converts all characters in tokens to lowercase. This helps make searches case-insensitive, so 'Apple' and 'apple' are treated the same.
Click to reveal answer
beginner
Explain the purpose of a stemmer token filter.
A stemmer token filter reduces words to their root form. For example, 'running', 'runs', and 'ran' become 'run'. This helps match different forms of a word during search.
Click to reveal answer
beginner
What is a synonym token filter used for?
A synonym token filter replaces words with their synonyms during indexing or searching. For example, 'quick' might be replaced with 'fast'. This expands search results to include similar meanings.
Click to reveal answer
intermediate
How do token filters fit into the Elasticsearch analysis process?
Token filters process tokens after the text is split by the tokenizer. They modify tokens by changing case, stemming, or adding synonyms before indexing or searching.
Click to reveal answer
intermediate
Give an example of how to define a lowercase and stemmer token filter in Elasticsearch settings.
Example settings snippet:
{
  "analysis": {
    "filter": {
      "my_lowercase": { "type": "lowercase" },
      "my_stemmer": { "type": "stemmer", "language": "english" }
    }
  }
}
Click to reveal answer
What does the lowercase token filter do in Elasticsearch?
AConverts all tokens to lowercase
BRemoves stop words
CSplits text into tokens
DAdds synonyms to tokens
Which token filter reduces words to their root form?
AStop filter
BSynonym filter
CLowercase filter
DStemmer filter
What is the main use of a synonym token filter?
ATo convert tokens to lowercase
BTo remove punctuation
CTo replace words with their synonyms
DTo split text into tokens
In which part of the analysis process do token filters operate?
AAfter tokenizing text
BBefore tokenizing text
CDuring indexing only
DOnly during searching
Which of these is a correct way to define a lowercase filter in Elasticsearch settings?
A"filter": { "my_lowercase": { "type": "synonym" } }
B"filter": { "my_lowercase": { "type": "lowercase" } }
C"filter": { "my_lowercase": { "type": "stemmer" } }
D"filter": { "my_lowercase": { "type": "tokenizer" } }
Describe how lowercase, stemmer, and synonym token filters help improve search results in Elasticsearch.
Think about how each filter changes the words to match more queries.
You got /3 concepts.
    Explain the order of operations in Elasticsearch analysis involving tokenizers and token filters.
    Remember token filters work after tokenizing.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What does the lowercase token filter do in Elasticsearch?

      easy
      A. Converts all tokens to lowercase letters
      B. Removes stop words from the tokens
      C. Finds the root form of tokens
      D. Adds synonyms to tokens

      Solution

      1. Step 1: Understand the lowercase filter purpose

        The lowercase filter changes all tokens to lowercase to make searches case-insensitive.
      2. Step 2: Compare with other filters

        Stemmer finds root words, synonym adds similar words, stop word filter removes common words. Only lowercase converts to lowercase.
      3. Final Answer:

        Converts all tokens to lowercase letters -> Option A
      4. Quick Check:

        Lowercase filter = converts tokens to lowercase [OK]
      Hint: Lowercase filter always makes words small letters [OK]
      Common Mistakes:
      • Confusing lowercase with stemmer
      • Thinking lowercase adds synonyms
      • Mixing lowercase with stop word removal
      2.

      Which of the following is the correct syntax to define a synonym token filter in Elasticsearch?

      {
        "filter": {
          "my_synonym": {
            "type": "synonym",
            "synonyms": ["quick,fast"]
          }
        }
      }
      easy
      A. { "type": "stemmer", "synonyms": ["quick,fast"] }
      B. { "type": "stop", "synonyms": ["quick,fast"] }
      C. { "type": "synonym", "synonyms": ["quick,fast"] }
      D. { "type": "lowercase", "synonyms": ["quick,fast"] }

      Solution

      1. Step 1: Identify the token filter type for synonyms

        The synonym filter must have "type": "synonym" to work correctly.
      2. Step 2: Check the synonyms property

        The synonyms list is correctly provided as an array of strings with comma-separated words.
      3. Final Answer:

        { "type": "synonym", "synonyms": ["quick,fast"] } -> Option C
      4. Quick Check:

        Synonym filter syntax = type synonym with synonyms list [OK]
      Hint: Synonym filter always uses type 'synonym' with synonyms array [OK]
      Common Mistakes:
      • Using wrong type like stemmer or lowercase
      • Not providing synonyms as an array
      • Misspelling 'synonym' in type
      3.

      Given this analyzer configuration in Elasticsearch:

      {
        "analyzer": {
          "my_analyzer": {
            "tokenizer": "standard",
            "filter": ["lowercase", "porter_stem"]
          }
        }
      }

      What will be the output tokens for the input text "Running Runs"?

      medium
      A. ["run", "runs"]
      B. ["running", "runs"]
      C. ["Running", "Runs"]
      D. ["run", "run"]

      Solution

      1. Step 1: Apply lowercase filter

        Input "Running Runs" becomes "running runs" after lowercase filter.
      2. Step 2: Apply porter_stem filter

        Porter stemmer reduces "running" and "runs" to root "run" for both tokens.
      3. Final Answer:

        ["run", "run"] -> Option D
      4. Quick Check:

        Lowercase + stemmer = root forms in lowercase [OK]
      Hint: Lowercase then stemmer gives root lowercase tokens [OK]
      Common Mistakes:
      • Ignoring stemming effect
      • Not applying lowercase first
      • Expecting original case tokens
      4.

      Identify the error in this token filter definition:

      {
        "filter": {
          "my_stemmer": {
            "type": "stemmer",
            "language": "englishy"
          }
        }
      }
      medium
      A. "type" should be "stemmer_override"
      B. "language" value is misspelled; should be "english"
      C. "filter" key must be inside "analyzer"
      D. Missing "synonyms" array

      Solution

      1. Step 1: Check the "language" parameter spelling

        The language "englishy" is incorrect; the correct value is "english".
      2. Step 2: Verify the stemmer type and parameters

        Type "stemmer" is correct; no synonyms needed here; filter can be defined outside analyzer.
      3. Final Answer:

        "language" value is misspelled; should be "english" -> Option B
      4. Quick Check:

        Stemmer language spelling must be exact [OK]
      Hint: Check spelling of language names in stemmer filters [OK]
      Common Mistakes:
      • Using invalid language names
      • Confusing stemmer with synonym filter
      • Expecting synonyms in stemmer filter
      5.

      You want to create an analyzer that makes searches case-insensitive, finds root forms of words, and also matches synonyms like "fast" for "quick". Which token filters should you include in your analyzer?

      hard
      A. ["lowercase", "stemmer", "synonym"]
      B. ["stop", "lowercase", "synonym"]
      C. ["lowercase", "synonym"]
      D. ["stemmer", "stop"]

      Solution

      1. Step 1: Identify filters for case-insensitivity and root forms

        Lowercase filter makes tokens lowercase; stemmer finds root forms.
      2. Step 2: Add synonym filter for matching similar words

        Synonym filter adds synonyms like "fast" for "quick" to improve matching.
      3. Final Answer:

        ["lowercase", "stemmer", "synonym"] -> Option A
      4. Quick Check:

        Lowercase + stemmer + synonym = case-insensitive, root, and synonym matching [OK]
      Hint: Combine lowercase, stemmer, and synonym filters for full matching [OK]
      Common Mistakes:
      • Omitting stemmer or synonym filters
      • Using stop filter instead of stemmer
      • Not including lowercase for case-insensitivity
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard