Fuzzy search
Enhanced capabilities with improved handling of typos, partial matches, and more flexible search criteria.
Fuzzy search allows the system to find results that are similar to the user’s query — even when the query contains typos, misspellings, or slight variations.
Supports inexact matches for :
- Product Name
- Product Description
- Variant Name
- Variant Description
- EAN, GTIN, UPC
- MPN
- SKU (product + variant)
- External ID
Currently, fuzzy queries do not support Custom Fields and Attributes
Configuration :
Parameter Explanation:
-
fuzziness: defines the number of character changes (insertions, deletions, substitutions) allowed.
- Can be a number (
1,2) or"AUTO" - We set to
"AUTO"to let the search engine automatically determine the allowed number of character changes based on the term length.
When the parameter
"fuzziness": "AUTO"is used, the allowed number of edits (insertions, deletions, or substitutions) depends on the length of the term:Term length Allowed modifications Fuzziness value 0–2 characters 0 (exact match only) fuzziness = 03–5 characters 1 change allowed fuzziness = 16 or more characters 2 changes allowed fuzziness = 2 - Can be a number (
This logic ensures that:
- Short words remain precise (to avoid irrelevant matches).
- Longer words are more tolerant to user typos.
It’s not possible to make more than 2 mistakes for word
Multi-word Queries
When someone searches with more than one word, the search engine looks at each word separately.
For example:
User searches for: “red houss garden”
The system will:
- Look for “red”,
- Look for “houss” (which can match “house” because of fuzzy search),
- Look for “garden”.
Then, it combines the results using an OR rule — meaning: A result will appear if it contains at least one of those words.
So:
If a result has “red” → it’s included.
If a result has “house” → it’s included.
If a result has “garden” → it’s included.
If a result has all three → even better, it will probably rank higher.
This is useful because it gives more results to the user, even if they only remember part of what they were looking for.
Fuzzy Match Scoring and Term Frequency
When a word that matches through fuzzy search appears several times in a product’s data (like in the name, description, or tags), that product will appear higher in the search results.
In other words, the more often a fuzzy-matched word is repeated, the more relevant the system thinks the product is — so it ranks it higher.
Example: If the user searches for “shooes” (a typo for “shoes”):
Product A: “Running shoes” → appears once
Product B: “Shoes for men – leather shoes” → appears multiple times
→ Product B will rank higher because the word “shoes” (or its fuzzy match “shooes”) appears more often.
Fuzzy Search Examples
Wrong Letter
Example: (blazer → glazer)
When I type “glazer” in the search bar, the product “blazer” should still appear in the search results.
This shows that a single incorrect letter (substitution) is tolerated, allowing users to find relevant items even with small typing mistakes.
Missing a Letter
Example: (sneakers → sneker)
When I type “sneker” in the search bar, the product “sneakers” should appear in the search results.
This demonstrates that fuzzy search can handle omitted letters, a common type of human error when typing quickly on mobile devices.
Extra Letter Added
Example: (handbag → handbaag)
When I type “handbaag” in the search bar, the product “handbag” should appear in the search results.
This illustrates tolerance for accidental extra characters inserted into the query.
Swapped Characters
Example: (shoes → sohes)
When I type “sohes” in the search bar, the product “shoes” should appear in the search results.
This shows that the system can handle transposed letters, such as when users mistype letters in reverse order.
Multiple Words with a Typo
Example: (leather jacket → lether jacket)
This situation is common when users search for product names or item descriptions. Fuzzy search should handle typos even in multi-word phrases.
When I type “lether jacket”, the product “leather jacket” should appear in the results.
Missing Words
Example : (box of chocolates → box chocolates)
If the product name is “Box of Chocolates”, and I search for “box chocolates”, the fuzzy search should still find the product “Box of Chocolates” even though the connecting word “of” is missing.
Search Result Prioritization
Example 1 : (blazer → glazer)
If both “blazer” and “glazer” products exist, and I search for “glazer”, then **“glazer”**should appear before “blazer” in the search results.
This ensures that exact matches are ranked higher than fuzzy matches.
Example 2 : (leather jacket → lether jacket)
If the catalog contains “Leather Jacket”, “Leather Belt”, and “Jacket”, and I search for “lether jacket”, then “Leather Jacket” should appear first, followed by the other related products.
This ensures that full phrase matches are prioritized over partial matches.
Interaction between Sorting and Fuzzy Search
When sorting is applied, the system reorders results based on the selected sorting field (e.g., price, name, or custom field). This means that the relevance score from the search engine, including fuzzy matching (typo tolerance), is no longer considered in the final order of results.
In other words, enabling sorting overrides fuzzy ranking. The search will still find products using fuzzy logic, but their display order will follow the sort criteria, not their text relevance.
Tip:Use fuzzy search without sorting when prioritizing text relevance (e.g., keyword searches), and use sorting without fuzzy when you need a clearly ordered list (e.g., by price or date).
Best Practices
- Optimize product data by ensuring that key searchable words appear at least once in critical text fields, but avoid excessive repetition, as it may lead to unnatural product descriptions or keyword stuffing.
- Apply fuzzy search only on relevant fields (e.g., product names, brands).
- Avoid using fuzzy search on fields where exact matching is crucial (like IDs).
Applying fuzzy search to too many fields can lead to a loss of result precision. When fuzzy matching is enabled across multiple attributes (e.g., product name, description, category, brand), the engine may start returning semantically irrelevant results, as similar character patterns are matched outside their intended context.
Updated 2 days ago
