Back to Blog
UXMarch 20, 20265 min read · 1,141 words

Shopify Search at Sub-100ms: Algolia vs Search & Discovery (2026)

N7

No7 Engineering Team

Growth Architecture Unit

UX — Shopify Search at Sub-100ms: Algolia vs Search & Discovery (2026) — illustration

Customers who use site search convert at 2-3x the rate of those who don't, but the default search on most Shopify stores returns query latencies above 600ms with zero typo tolerance and zero semantic understanding. That gap is the difference between a search box that earns its pixels and one that bleeds revenue. This piece is a practical engineering walkthrough of the search stack we ship for clients in 2026 — what to use, when to fall back to Shopify's native Search & Discovery API, and where Algolia, Typesense, or a vector layer like Pinecone earn their seat.

Why Shopify's Native Search Loses to Custom Implementations

Shopify's storefront search runs through the predictiveSearch Storefront API and the newer Search & Discovery app. Both are improvements over the legacy keyword match — Search & Discovery now supports synonym groups, query rewriting, and faceted filters at the platform level. We have found this is genuinely sufficient for catalogues under roughly 5,000 SKUs with simple taxonomy. Where it falls short is typo tolerance (no Damerau-Levenshtein distance configuration exposed), latency under load (typically 200-400ms p95 for predictive search), and semantic understanding — searching "summer party shoes" against a product corpus that uses "espadrilles" still returns nothing.

The result for catalogues over 10,000 SKUs is a measurable conversion gap. We typically see search-to-purchase conversion lift of around 15-25% after switching from native search to Algolia or a hybrid Algolia+vector setup, and a corresponding drop in null-result rate from a typical 18-22% down to 4-6%.

The Three Search Architectures We Ship

Tier 1: Shopify Search & Discovery (native)

The default for under-5K SKU stores. Configure synonym groups via the Search & Discovery admin, ship the Predictive Search API autocomplete with a debounce around 150ms, and instrument null-result tracking via a custom web pixel. Total engineering time: typically 2-3 days. No third-party billing line.

Tier 2: Algolia (the workhorse)

For catalogues from 5K to roughly 500K SKUs, Algolia remains the default. The InstantSearch.js widget hits sub-50ms p95 latency from edge POPs, typo tolerance is configurable per-attribute via typoTolerance and minWordSizefor1Typo (we typically set this to 4), and synonym dictionaries support both one-way and equivalent groups. Pricing is around $0.50 per 1,000 search operations on the Build plan, scaling to negotiated enterprise rates above 10M operations per month.

Tier 3: Hybrid keyword + vector (semantic understanding)

For high-AOV stores where "summer party shoes" needs to surface "espadrilles", we layer vector search on top of keyword search. The pattern: embed product titles and descriptions with OpenAI's text-embedding-3-small (1536 dimensions, around $0.02 per 1M tokens), store vectors in Pinecone, Weaviate, or Postgres with pgvector, and at query time run a parallel keyword + vector lookup, then re-rank with reciprocal rank fusion. Latency budget: under 100ms total, which means the vector layer needs sub-30ms at p95 — Pinecone's serverless tier hits this for indexes under 1M vectors.

Typo Tolerance and Synonym Handling, Concretely

"Nikey" should find Nike products. "Addidas" should find Adidas. In Algolia this is solved with typoTolerance: 'min' and minWordSizefor1Typo: 4, minWordSizefor2Typos: 8— the defaults are usually fine for English catalogues but need tuning for Turkish or Nordic stores where average word length is longer. In Search & Discovery you don't get this knob exposed; you fall back to manually entering common misspellings as synonyms.

Synonyms split into two classes that need different handling. Equivalent synonyms ("sofa""couch", "trainers""sneakers") are bidirectional. One-way synonyms ("cheap""sale", "xmas""christmas") only expand the query, never the index. Mixing these incorrectly is what causes the embarrassing "we don't sell cheap products" failure mode.

Faceted Filtering Without Killing Latency

Faceted filters multiply query complexity. A filter UI showing six facets with five values each is potentially 15,625 facet permutations, and naïve implementations refetch the full result set on every facet change. The patterns that keep this under 100ms:

  • Disjunctive faceting: only refetch counts for facets the user can still toggle — the active facet's counts come from the unfiltered query, others from the filtered query. Algolia handles this via disjunctiveFacetsRefinements; for native implementations you maintain two parallel result sets.
  • Server-side filter generation: render filter chips on the server from the initial response, hydrate the counts client-side. Saves around 200ms on first paint.
  • Numeric range pre-bucketing: for price filters, ship pre-computed buckets ("under £25", "£25-£50", "£50-£100") rather than a live histogram. Slight UX trade-off, large performance win.

Decision matrix: which search stack fits

Use this against your current SKU count, latency p95, and synonym maintenance burden — it lines up with what we ship in 2026.

RequirementSearch & DiscoveryAlgoliaHybrid + vector
SKU sweet spot< 5K5K – 500KHigh-AOV / semantic
Typo toleranceLimitedtypoTolerance per-fieldInherits Algolia layer
Semantic matchNoOptional NeuralSearchNative (1536-dim)
p95 query latency200-400ms~50ms edge~80-100ms
Monthly cost (1M ops)£0 (included)~£500~£500 + ~£70 vector
Engineering days2-35-812-18

Measuring What Matters: Search KPIs Worth Tracking

The four metrics that move the needle, in priority order: null-result rate (target under 5%; anything above 10% means your synonym dictionary or typo tolerance is misconfigured), search-to-purchase conversion (compare against baseline non-search conversion), queries per session for searchers (multiple queries usually means the first result set was poor), and p95 query latency (anything above 200ms degrades INP and starts hurting Core Web Vitals — see our notes in the store performance breakdown for how this couples to LCP and INP).

Wire these via a custom web pixel firing on the predictive search request lifecycle, not via vendor dashboards alone. Algolia's analytics is good but it doesn't see the cart-add and checkout events; only your own pixel can attribute search-driven revenue end-to-end.

What to Do Next

Run this concrete decision rule before committing to a stack: if your annual GMV is under £1M and SKU count is under 5,000, ship Search & Discovery with a tight synonym dictionary and a custom-pixel KPI feed first — that takes 2-3 engineer days and you can measure baseline conversion. Migrate to Algolia only when null-result rate stays above 8% after two synonym-dictionary iterations, or when p95 latency above 300ms shows up in your INP data. Layer in a vector index only when your top 50 queries by volume include semantic phrases ("summer party shoes", "gift for dad") that synonyms cannot solve.

For catalogues with vehicle fitment (auto parts, accessories, tyres), generic faceted search architecture is the wrong primitive — see Year/Make/Model filtering for Shopify auto parts stores for the data-modelling and UX patterns. For headless storefronts where search is part of the React tree rather than a Liquid section, the integration patterns covered in Hydrogen 2 production apply directly.

Frequently Asked Questions

The questions buyers and engineers ask us most about this topic.

When should I buy a managed eCommerce search vendor versus build my own?

For stores under roughly £3M annual revenue on Shopify or BigCommerce, a managed vendor (Klevu, Searchspring, Algolia) plus disciplined merchandising work outperforms an in-house build at a fraction of the cost. Build custom only when your catalogue has unusual structure — strong fitment requirements (auto parts, eyewear), deep variant systems, or B2B-specific catalogue visibility rules — that managed vendors handle poorly. The line is mostly about catalogue complexity, not revenue.

What single fix improves eCommerce search conversion the most?

Typo tolerance. We see 5-15% of search queries contain a typo, and stock platforms return zero results for those. Adding fuzzy matching with edit-distance ≤ 2 typically recovers 3-8% of search-driven revenue with no other change. Second highest impact: synonym mapping aligned to the language your customers actually use ("trainers" / "sneakers", "jumper" / "sweater") — pull these from your search analytics rather than guessing.

How fast does eCommerce search need to be to convert?

Under 200ms perceived latency from keystroke to first result. Above 400ms users abandon the search bar. The lab metric to optimise is INP (Interaction to Next Paint) on the search input. Most slowdowns we audit come from a heavy autocomplete that fires on every keystroke — debounce at 150-250ms, cache recent queries client-side, and pre-fetch the top 10 categories so initial autocomplete renders without a network round trip.