Bird
Raised Fist0
Elasticsearchquery~10 mins

Synonym handling in Elasticsearch - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a synonym filter named "synonym_filter".

Elasticsearch
{
  "settings": {
    "analysis": {
      "filter": {
        "synonym_filter": {
          "type": "[1]",
          "synonyms": ["quick,fast"]
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Asynonym
Bstop
Ckeyword_marker
Dlowercase
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'stop' or 'lowercase' as the filter type instead of 'synonym'.
2fill in blank
medium

Complete the analyzer definition to use the synonym filter.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "synonym_analyzer": {
          "tokenizer": "standard",
          "filter": ["lowercase", "[1]"]
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Aasciifolding
Bsynonym_filter
Ckeyword_filter
Dstop_filter
Attempts:
3 left
💡 Hint
Common Mistakes
Using a filter name that does not exist or is unrelated to synonyms.
3fill in blank
hard

Fix the error in the synonym filter definition by completing the missing setting.

Elasticsearch
{
  "settings": {
    "analysis": {
      "filter": {
        "my_synonym_filter": {
          "type": "synonym",
          "synonyms_path": "[1]"
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Asynonyms.txt
B/etc/elasticsearch/synonyms.txt
Csynonym.txt
D/usr/local/synonyms.txt
Attempts:
3 left
💡 Hint
Common Mistakes
Using absolute paths that Elasticsearch cannot access.
4fill in blank
hard

Fill both blanks to create a synonym filter that expands synonyms and ignore case.

Elasticsearch
{
  "settings": {
    "analysis": {
      "filter": {
        "expanded_synonym": {
          "type": "[1]",
          "expand": [2],
          "synonyms": ["car, automobile"]
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Asynonym
Btrue
Cfalse
Dstop
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'stop' as filter type or setting expand to false when expansion is needed.
5fill in blank
hard

Fill all three blanks to define an analyzer that uses the synonym filter, lowercase filter, and standard tokenizer.

Elasticsearch
{
  "settings": {
    "analysis": {
      "analyzer": {
        "custom_synonym_analyzer": {
          "tokenizer": "[1]",
          "filter": ["[2]", "[3]"]
        }
      }
    }
  }
}
Drag options to blanks, or click blank then click option'
Astandard
Blowercase
Csynonym_filter
Dstop
Attempts:
3 left
💡 Hint
Common Mistakes
Using stop filter instead of synonym filter or wrong tokenizer.

Practice

(1/5)
1. What is the main purpose of synonym handling in Elasticsearch?
easy
A. To find search results that include different words with the same meaning
B. To speed up the indexing process
C. To store data in multiple languages automatically
D. To encrypt search queries for security

Solution

  1. Step 1: Understand synonym handling concept

    Synonym handling allows Elasticsearch to match words that mean the same, improving search results.
  2. Step 2: Identify the main goal

    The goal is to find results with different words but same meaning, not speed or encryption.
  3. Final Answer:

    To find search results that include different words with the same meaning -> Option A
  4. Quick Check:

    Synonym handling = find similar meaning words [OK]
Hint: Synonyms help find words with same meaning [OK]
Common Mistakes:
  • Thinking synonyms speed up indexing
  • Confusing synonyms with encryption
  • Assuming synonyms translate languages automatically
2. Which of the following is the correct way to define a synonym filter in Elasticsearch settings?
easy
A. "filter": { "synonym_filter": { "type": "keyword", "synonyms": ["quick,fast"] } }
B. "filter": { "synonym_filter": { "type": "stop", "synonyms": ["quick,fast"] } }
C. "filter": { "synonym_filter": { "type": "synonym", "synonyms": ["quick,fast"] } }
D. "filter": { "synonym_filter": { "type": "stemmer", "synonyms": ["quick,fast"] } }

Solution

  1. Step 1: Identify correct filter type for synonyms

    The filter type for synonyms must be "synonym" to handle synonym lists.
  2. Step 2: Check the filter definition syntax

    "filter": { "synonym_filter": { "type": "synonym", "synonyms": ["quick,fast"] } } correctly uses "type": "synonym" and defines synonyms as a list.
  3. Final Answer:

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

    Synonym filter type = "synonym" [OK]
Hint: Synonym filters use type "synonym" [OK]
Common Mistakes:
  • Using wrong filter types like stop or stemmer
  • Not defining synonyms as a list
  • Misspelling "synonym" type
3. Given this analyzer configuration, what will be the tokens produced for the text "fast car"?
{
  "analysis": {
    "filter": {
      "synonym_filter": {
        "type": "synonym",
        "synonyms": ["fast,quick"]
      }
    },
    "analyzer": {
      "synonym_analyzer": {
        "tokenizer": "standard",
        "filter": ["lowercase", "synonym_filter"]
      }
    }
  }
}
medium
A. ["fast", "quick", "car", "car"]
B. ["fast", "quick", "car"]
C. ["quick", "car"]
D. ["fast", "car"]

Solution

  1. Step 1: Analyze the text with the synonym filter

    The synonym filter maps "fast" to "quick", so both tokens appear for "fast".
  2. Step 2: List all tokens after analysis

    Tokens are "fast", "quick" (synonym), and "car" (unchanged).
  3. Final Answer:

    ["fast", "quick", "car"] -> Option B
  4. Quick Check:

    Synonym adds "quick" token for "fast" [OK]
Hint: Synonym filter adds synonyms as extra tokens [OK]
Common Mistakes:
  • Ignoring synonym addition and listing only original tokens
  • Replacing original token instead of adding synonym
  • Duplicating tokens unnecessarily
4. You defined a synonym filter but your search results do not include synonyms. What is the most likely mistake?
medium
A. You used the synonym filter in the index but not in the search analyzer
B. You forgot to add the synonym filter to the analyzer's filter list
C. You defined synonyms as a string instead of a list
D. You used the synonym filter with the wrong tokenizer

Solution

  1. Step 1: Understand how synonym filters affect search

    Synonyms must be applied in the analyzer used during search to affect results.
  2. Step 2: Identify common setup mistake

    Often synonyms are applied only at index time, missing search analyzer usage.
  3. Final Answer:

    You used the synonym filter in the index but not in the search analyzer -> Option A
  4. Quick Check:

    Synonyms must be in search analyzer too [OK]
Hint: Apply synonym filter in both index and search analyzers [OK]
Common Mistakes:
  • Adding synonym filter only at index time
  • Not including synonym filter in search analyzer
  • Misconfiguring synonyms as string instead of list
5. You want to improve search for a product catalog where users may search for "tv", "television", or "smart tv". How should you configure synonyms to handle these terms effectively?
hard
A. Apply synonyms only at search time to avoid changing indexed data
B. Define synonyms only for "tv" and "television" but exclude "smart tv" because it has two words
C. Use a stop filter to remove "smart" and then define synonyms for "tv" and "television"
D. Define synonyms as: "tv, television, smart tv" in a synonym filter and apply it in both index and search analyzers

Solution

  1. Step 1: Define all related terms as synonyms

    Include "tv", "television", and "smart tv" together to cover all user queries.
  2. Step 2: Apply synonym filter in both index and search analyzers

    This ensures synonyms work during indexing and searching for best results.
  3. Final Answer:

    Define synonyms as: "tv, television, smart tv" in a synonym filter and apply it in both index and search analyzers -> Option D
  4. Quick Check:

    Synonyms cover all terms and apply at both stages [OK]
Hint: Include all terms and apply synonyms at index and search [OK]
Common Mistakes:
  • Ignoring multi-word synonyms like "smart tv"
  • Applying synonyms only at search time
  • Using stop filter incorrectly to remove words
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