Discovery Independent solution

Smart Search & Merchandising

Replace brittle keyword search with semantic understanding: natural-language queries, typo tolerance, synonym awareness and intent-aware recommendations that put the right products in front of every shopper.

The problem

Keyword search fails exactly when shoppers are ready to buy

Traditional search matches strings, not meaning: a typo, a synonym, or a natural-language query returns nothing, and the shopper leaves. Generic recommendations don't help them discover the rest of the catalog.

This solution understands intent, tolerates messy queries, and recommends by context — turning search from a dead end into a conversion engine.

Primary objective
Help shoppers find what they mean — and discover more — lifting conversion and average order value.
How it works

Query → understand intent → rank → recommend

Query
Natural language, typos, synonyms
Understand
Embed intent & attributes
Rank
Relevance + business rules
Recommend
Complementary & similar items
What it does
  • ✓ Semantic / vector search
  • ✓ Typo & synonym tolerance
  • ✓ Natural-language queries
  • ✓ Similar & complementary recs
  • ✓ Merchandising rule overrides
  • ✓ Zero-result rescue
Built with
  • ✓ Embeddings + vector store
  • ✓ Claude for query understanding
  • ✓ Catalog & inventory sync
  • ✓ Ranking with business rules
  • ✓ Storefront search API
Levers you keep
  • ✓ Boost / bury controls
  • ✓ Promoted collections
  • ✓ Margin-aware ranking
  • ✓ Out-of-stock handling
  • ✓ A/B tunable relevance
Under the hood

Intent-aware semantic retrieval

Queries and products live in the same vector space, so 'warm jacket for hiking' matches the right items even with no keyword overlap — then business rules re-rank.

search/query.py PYTHON
from embed import embed_one
from store import vector_search, apply_rules

def search(q: str, ctx: dict, k: int = 48):
    vec = embed_one(q)                    # same space as products
    hits = vector_search(vec, k=k*2)     # semantic recall
    # Re-rank by margin, stock and merchandising rules
    return apply_rules(hits, ctx)[:k]
Outcomes
Higher
Search conversion
Fewer
Zero-result queries
+AOV
From recommendations
Instant
Sub-100ms lookups

Turn search into your best salesperson

Works well with Catalog Enrichment — clean attributes make search sharper.

Start a conversation →
More E-commerce solutions
Smart Search & Merchandising | Smort