OpenCart search for large catalogues
A scan-based search gets linearly worse as you add products. On a few hundred it is imperceptible; at tens of thousands it is the slowest thing your shop does, and it is slowest exactly when the shop is busiest.
The shape of the problem
Every product you add makes every search slower
The search query has no index to narrow the candidate set, so the work is proportional to the size of the product-description table — multiplied by the number of languages you have installed, because that table has one row per product per language.
Variants make it worse on OpenCart 4, where a variant is its own product row. A catalogue of 5,000 products with an average of four variants is 25,000 rows to scan, and 25,000 rows is what a search costs even though a shopper only wants the 5,000.
What it feels like
It fails under load, not in testing
A slow search on an idle shop is a second of waiting. The same search during a promotion competes with every other request for the same database, and the queue is where the outage comes from — search is rarely the thing that falls over, it is the thing that pushes something else over.
The fix
A dedicated index, and one result per product
NitroSearch holds your catalogue in a search engine built for the job, so query time is driven by the size of the result set rather than the size of the catalogue. Variants fold into their parent, so one product is one result — and one unit of your plan — however many variations it has.
Pricing is by catalogue size rather than by search volume, so a busy month costs the same as a quiet one.
More about OpenCart search
How many products can OpenCart search handle?
There is no hard limit — it degrades gradually. The query scans the product-description table, so the cost rises with the number of products multiplied by the number of installed languages, and it is felt first at peak traffic rather than in testing.
Do variants count against my plan?
No. One product is one indexed object however many variants it has. On OpenCart 4, where each variant is its own product row, the module folds them into their parent before sending.
Does a large catalogue cost more?
Plans are priced by catalogue size, so a larger catalogue moves you up a tier — but never by search volume. A busy month and a quiet one cost the same.
How long does the first sync take on a big catalogue?
It runs in the background, a chunk at a time, so it is never one long request that a hosting timeout can kill. With a cron configured it works through steadily; without one it advances on storefront page views.
OpenCart behaviour on this page last checked against live OpenCart 4.1.0.3 and 3.0.5.0 installs on 2026-08-05.
Give your shoppers search that finds things
Free up to 100 search results, no card, no time limit. Paid plans start at $5.99/mo and are priced by catalogue size — never per search.