0
0
Elasticsearchquery~20 mins

Fuzzy matching in Elasticsearch - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Fuzzy Matching Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Fuzzy query with max_expansions effect
What is the output of this Elasticsearch fuzzy query when searching for the term "roam" with max_expansions set to 2?
Elasticsearch
{
  "query": {
    "fuzzy": {
      "name": {
        "value": "roam",
        "fuzziness": 1,
        "max_expansions": 2
      }
    }
  }
}
AMatches documents with terms like "roam", "foam", but limits to 2 expanded terms
BMatches only exact term "roam" ignoring fuzziness
CMatches all terms within fuzziness 1 without limit on expansions
DRaises an error because max_expansions cannot be set to 2
Attempts:
2 left
💡 Hint
Think about how max_expansions limits the number of fuzzy variations Elasticsearch considers.
🧠 Conceptual
intermediate
1:30remaining
Understanding fuzziness parameter
Which statement correctly describes the fuzziness parameter in Elasticsearch fuzzy queries?
AIt controls the maximum number of terms returned by the fuzzy query.
BIt sets the minimum number of characters a term must have to be fuzzy matched.
CIt defines the maximum Levenshtein edit distance allowed between the query term and matching terms.
DIt disables fuzzy matching and forces exact matches only.
Attempts:
2 left
💡 Hint
Fuzziness relates to how different the matched words can be from the query word.
🔧 Debug
advanced
2:30remaining
Why does this fuzzy query return no results?
Given this fuzzy query searching for "aple" with fuzziness 1, why does it return no results?
Elasticsearch
{
  "query": {
    "fuzzy": {
      "name": {
        "value": "aple",
        "fuzziness": 1,
        "prefix_length": 3
      }
    }
  }
}
ABecause the field "name" is not analyzed, so fuzzy matching fails
BBecause prefix_length 3 requires first 3 characters to match exactly, but "aple" and "apple" differ in first 3 chars
CBecause fuzzy queries do not support prefix_length parameter
DBecause fuzziness 1 is too low to match "apple" from "aple"
Attempts:
2 left
💡 Hint
Check how prefix_length affects which characters must match exactly.
📝 Syntax
advanced
1:30remaining
Identify the syntax error in this fuzzy query
Which option contains the correct syntax for a fuzzy query searching for "color" with fuzziness 2?
A{ "query": { "fuzzy": { "color": { "value": "color", fuzziness: 2 } } } }
B{ "query": { "fuzzy": { "color": { value: "color", "fuzziness": 2 } } } }
C{ "query": { "fuzzy": { "color": { "value": "color", "fuzziness" = 2 } } } }
D{ "query": { "fuzzy": { "color": { "value": "color", "fuzziness": 2 } } } }
Attempts:
2 left
💡 Hint
Remember JSON requires keys and string values to be in double quotes and colons to separate keys and values.
🚀 Application
expert
3:00remaining
Optimizing fuzzy search for typo tolerance in product names
You want to allow fuzzy matching on product names to tolerate up to 2 typos but avoid too many irrelevant matches. Which query configuration best balances fuzziness and performance?
A{ "query": { "fuzzy": { "product_name": { "value": "sneaker", "fuzziness": 2, "max_expansions": 50, "prefix_length": 1 } } } }
B{ "query": { "fuzzy": { "product_name": { "value": "sneaker", "fuzziness": 2, "max_expansions": 1000, "prefix_length": 0 } } } }
C{ "query": { "fuzzy": { "product_name": { "value": "sneaker", "fuzziness": 1, "max_expansions": 10, "prefix_length": 3 } } } }
D{ "query": { "fuzzy": { "product_name": { "value": "sneaker", "fuzziness": 3, "max_expansions": 5, "prefix_length": 2 } } } }
Attempts:
2 left
💡 Hint
Consider how fuzziness, max_expansions, and prefix_length affect match tolerance and query speed.