Most WooCommerce search solutions break down around 10,000 products. We built Smooth Search to handle 1,000,000+.
The Scaling Challenge
Traditional approaches use SQL’s LIKE queries:
SELECT * FROM wp_posts
WHERE post_title LIKE '%search term%'
LIMIT 10;
This scans entire tables. At 100K+ products, it’s unusable.
Our Solution: Inverted Index
We build an inverted index - the same data structure powering Elasticsearch, but optimized for WooCommerce:
- Incremental indexing - Only reindex changed products
- Compressed storage - 1M products in ~50MB
- Client-side search - Index loads once, searches run in-browser
- Smart ranking - TF-IDF scoring with product-specific boosts
Real Results
A fashion retailer with 500,000 SKUs saw:
- Search queries: 3.2 seconds → 12ms
- Server load: -95% (searches now client-side)
- Conversion rate: +18% (users find products faster)
The key insight: you don’t need a separate search service. You need a better architecture that leverages the client’s CPU.