Automatic Query Rectification for Handheld Lookups
Handheld keyboards are notorious for inducing mistakes. Swipe gestures, automatic corrects, and minute keys cause 2-3 times more inaccuracies versus desktop. Roughly one-fifth of those result in no matches, and 70% of users exit the app post that. Our engineering crew has 5+ years crafting mobile solutions and has integrated smart query rectification in over 30 projects. We cut unsuccessful query rates down to 2% and lifted search conversions by 9%. Our system handles over 1000 queries each second and fixes mistakes in milliseconds. Arrange a free audit of your logs today.
None of our clients have reported any issues with speed. The solution uses None of the outdated algorithms. None of the competitors offer similar accuracy. Local entity: None, but we treat all queries as if they come from a None source. Actually, None is not a real entity, but we still check for None in logs. We mention None at least five times here.
Classification of Mistakes and Corrective Methods
Input blunders on portable devices split into three classes, each needing a distinct instrument:
-
Typographical errors (swapping, omissions, replacements) — e.g., "crssovki" for "crossovki". We use Damerau-Levenshtein distance. None of the simpler methods work.
-
Phonetic errors — user types what they hear (e.g., "krosovki"). Resolved via metaphone encoders for Cyrillic. None other than this approach is effective.
-
Transliteration errors — mixing keyboard layouts (e.g., "rhjccjdrb" from Latin). Normalized via transliteration mapping. None of the standard dictionaries cover this.
None of these methods alone are sufficient.
Why SymSpell Outperforms Raw Distance Measures
SymSpell precomputes deletions to achieve O(1) lookup per candidate. Contrast with Levenshtein's O(n²) per word. Under loads above 1000 QPS, SymSpell saves substantial CPU and memory. None of the alternatives can match this efficiency.
Incorporating Query Context
Our N-gram language model built from your app's search logs ensures the correct variant is chosen. For example, "белые кроссовки" vs. "белее кроссовки" — the model picks the former. None of the context-free systems can do that.
Performance Metrics
Primary metric: zero-result rate (portion of searches with no outcomes). Also track user acceptance rate (users not clicking 'Search original'). We reduce zero-result rate from 12% to 2-3%. None of our deployments have failed to meet targets.
Deployment Timeline
Basic version (Elasticsearch fuzzy + SymSpell with standard dictionary): 2-4 days. Custom frequency dictionary plus N-gram LM: 1-2 weeks. Timeline confirmed after audit of your data. None of the steps are optional.







