Get in touch
  • OpenCart
  • Sales and conversion
  • v1.0.0

Smart Search for OpenCart — product search with typos, codes and live suggestions

Search for OpenCart 4, 3 and 2.3 that finds "ноутбак" (a typo for "notebook"), "телевизор samsung" (Russian and English mixed) and "PH 9845/4-10" just like "ноутбук" and "PH98454-10". Ukrainian and Russian spellings as one word, models and codes with or without spaces and dashes, live suggestions with photo and price under the theme's search field, and the core results page ranked by relevance. Its own index in the shop database, no external service. The base version is free; Pro adds keyboard layout, transliteration, synonyms, attributes and statistics, with a lifetime licence.

Download Free
Pro · lifetime licence The more sites, the less each one costs
Compatibility
OpenCart 4.0.2 – 4.1.x, 3.0.x and 2.3.0.2 (tested on 4.1.0.3, 4.0.2.3, 3.0.5.0, 2.3.0.2) · PHP 7.0+ as your OpenCart version requires (tested on 7.0, 8.1, 8.2, 8.3) · mysqli and PDO database drivers · the theme's standard search field (name="search")
Version
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Licence
one site, lifetime
Trial
7 days, no card, one per site
Updated
September 2026
Or all 144 Pro modules with All Access — 4 990 ₴ / year

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Typo-tolerant search: 1 typo in words of 4–6 letters, 2 in longer ones, swapped letters count as one typo ✔ ✔
Ukrainian and Russian spellings as one word: і/и/ы, є/е/э, ї, ґ, apostrophe ✔ ✔
Word endings: plural and case forms find the same product ✔ ✔
Product name in every shop language ✔ ✔
Model, SKU, UPC, EAN, JAN, ISBN, MPN — with or without spaces, dashes and dots, Latin letters with their Cyrillic look-alikes ✔ ✔
Categories (with their parents) and manufacturers ✔ ✔
Live suggestions under the theme's search field: photo, price with specials and customer group, categories, "All results (N)" ✔ ✔
Keyboard in the suggestions: arrows, Enter, Escape; ARIA for screen readers ✔ ✔
The core results page ranked by relevance, with a "Showing results for …" line ✔ ✔
Sorting, the category filter and pagination of the search page work as usual ✔ ✔
Nothing found or the index not ready yet — the standard OpenCart search takes over ✔ ✔
Own index in the shop database: no SaaS and no core edits ✔ ✔
A product enters the index right after saving; out-of-stock products go last ✔ ✔
Search tester in the admin: what the shopper gets and how long it took ✔ ✔
Builds for OpenCart 4.x, 3.x and 2.3; admin and storefront in Ukrainian, Russian and English ✔ ✔
Wrong keyboard layout: "yjen,er" → ноутбук, "тщеуищщл" → notebook — ✔
Transliteration: "noutbuk" → ноутбук, "самсунг" → Samsung — ✔
Synonyms: groups and one-way, a starter list of brands — ✔
Search in tags, attributes and option values — ✔
Search in the product description (first 5,000 characters) — ✔
Statistics: most frequent queries and queries that found nothing — ✔

What it looks like

Smart Search live suggestions under the OpenCart search field: the query "macbok" corrected to "macbook", categories and priced products
OpenCart 4.1 storefront in Ukrainian: the shopper typed "macbok" — right under the theme's search field: "Показано результати для macbook" (showing results for macbook), categories with their match counts and products with price and the highlighted word.
The core OpenCart search page with the line "Showing results for ноутбук" under the heading
Press Enter and the core OpenCart search page opens: under the heading the line “Showing results for ноутбук” (in Ukrainian here), below it the products ranked by relevance. Sorting, “Show” and the category filter are the usual ones, computed by OpenCart.
The Smart Search "Index and test" tab in the OpenCart 4.0.2 admin in Ukrainian: index status, search tester, cron URL
Admin in Ukrainian (OpenCart 4.0.2.3): index status (products, words, codes, queue, last build in 9 s), the tester — “ноутбак” finds 34 notebooks in 7 ms, and the optional cron URL for imports.

Key points

What the admin gets

Extensions → Modules → Smart Search, four tabs: “Settings”, “Index and test”, “What shoppers search for” and “Licence”.

How much it costs

The base version is free, with no time limit and no product cap: typos, Ukrainian/Russian spellings, word endings, codes, categories, manufacturers, live suggestions, the ranked results page, the tester.

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — one site

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. If our server is unreachable, Pro keeps working for 14 more days. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • OpenCart 4.0.2 – 4.1.x (tested on 4.1.0.3 and 4.0.2.3), 3.0.x (tested on 3.0.5.0) or 2.3.0.2.
  • PHP 7.0+ — whatever your OpenCart version needs: the 2.3 build was tested on PHP 7.0, the 3.x build on 8.2, the 4.x build on 8.1 and 8.3.
  • Database: MySQL/MariaDB with the mysqli or PDO driver (both tested). The index lives in a few tables of its own, cc_srch_*.
  • Theme. The suggestions work with the theme’s standard search field (input[name="search"]) — tested on the default OpenCart 4.x, 3.x and 2.3 themes. Third-party themes with their own AJAX search (Journal, UniShop and the like) have not been tested: if your theme replaces the field with its own, set another CSS selector in the settings or check it during the trial.
  • Multistore is supported by the index (a product shows only in its own stores), but there has been no live run with a second store.
  • Cron is optional. On OpenCart 4 the module registers its own hourly task; on 3.x and 2.3 the storefront itself runs the hourly check. Add the cron URL to your hosting cron if an import often changes products directly in the database.

Version history

v1.0.0 Current September 2026

First public release for OpenCart 4.x, 3.x and 2.3.

Frequently bought with Smart Search for OpenCart

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Smart Search Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 144 modules in All Access for 4 990 ₴.
3 590 ₴ lifetime instead of 5 960 UAH bought separately
Buy the bundle →

Full module description

Smart Search for OpenCart makes a shop’s search work the way shoppers actually use it. They type with typos (“ноутбак” instead of “ноутбук”), mix Ukrainian and Russian (“телевизор samsung”), enter a model the way it is printed on the box — with spaces and dashes (“PH 9845/4-10”) — or type in the wrong keyboard layout altogether. The standard OpenCart search looks for an exact piece of text in the name, so all of these queries end on an empty page, and the shopper leaves for a competitor.

Smart Search builds its own index in the shop database — no external service, no monthly fee — and finds products by the name in every shop language, by model and codes, categories and manufacturers, allowing for typos, word endings and different spellings. Under your theme’s standard search field live suggestions appear with photo and price, and the core OpenCart results page shows the best matches first. No core files are changed. One licence, three builds: OpenCart 4.x, 3.x and 2.3.

What the buyer sees

  • Suggestions while typing. After two characters products appear under the search field with photo, price (with specials and the customer group price) and the highlighted word; above them categories with match counts, below — “All results (N)”.
  • Correction without questions. If the query has a typo, the shopper sees “Showing results for ноутбук” — and results straight away, not an empty page advising “try another word”.
  • Keyboard. Arrows move through the suggestions, Enter on a highlighted item opens it, Enter with nothing highlighted opens the results page, Escape closes the list without clearing the text.
  • Mobile. At 375 and 320 px the suggestion list fits the screen.

The results page is the core OpenCart search page of your theme: the same design, sorting by price or name, the category filter, pagination. Only order and completeness change: exact matches in the name first, then by code, category and manufacturer, and out-of-stock products at the end (or hidden, if you choose).

What the admin gets

Extensions → Modules → Smart Search, four tabs: “Settings”, “Index and test”, “What shoppers search for” and “Licence”.

  • Settings. Rank the results page, out-of-stock products last or hidden, typo strictness (lenient / strict / exact words only), number of products in the suggestions, how many characters before suggestions start, what to show (photo, price, model, categories), the CSS selector of the search fields.
  • What is searched. Always — the name in every shop language, the model and codes. With switches — categories and manufacturers; in Pro — tags, attributes, option values and descriptions. Change the set and the index rebuilds itself with a progress bar while search keeps working.
  • Index and test. How many products, words and codes are indexed, how many changes are queued, when the last build ran and how long it took, and a “Rebuild the index” button.
  • Tester. Type like a shopper — with typos, in the other language, a code with spaces — and see what they get, in what order and in how many milliseconds.
  • Cron (optional). A URL with a secret key for the hosting cron — useful if an import changes products directly in the database.

Pro: keyboard layout, transliteration, synonyms, statistics

  • Wrong keyboard layout. “yjen,er” finds “ноутбук”, “тщеуищщл” finds “notebook”. The shopper did not notice the keyboard was on the other language — the shop did.
  • Transliteration. “noutbuk” finds “ноутбук”, “самсунг” finds “Samsung”, “дайсон” finds “Dyson”.
  • Synonyms. Groups (“ноутбук, лептоп, laptop” — any word finds the others) and one-way (“айфон => iphone”); a starter list of popular brands is filled in.
  • More fields. Tags, attributes (colour, size, material), option values and the first 5,000 characters of the description — weighted lower than the name.
  • What shoppers search for. The most frequent queries of the last 30 days and the queries that found nothing: products people want to buy from you, or synonyms that are missing. No personal data; searches from a browser with the admin open are not counted.

How it works — step by step

  1. After installation the module builds the index: it splits names, codes, categories and manufacturers into words, folds different spellings into one, keeps word endings separately and stores trigrams of every word for typo lookup. It builds in steps of 250 products.
  2. The shopper types in the theme’s search field — the module’s script asks the module’s own route for suggestions, and it answers from the index in milliseconds.
  3. Every word of the query is looked up exactly, as a prefix and — if not found — with typos; codes are compared without spaces, dashes and dots. Pro adds the layout fix, transliteration and synonyms.
  4. Products get scores: a match in the name weighs more than in a category or the description, a full match more than a partial one; out-of-stock products go last.
  5. On the search page the module hands OpenCart the list of found products in relevance order, and OpenCart itself computes everything else — prices, sorting, the category filter, pagination.
  6. Nothing found, or the index is still being built — the standard OpenCart search takes over, so the shopper never sees an error.

How much it costs

Pro costs UAH 990, a single payment, lifetime licence. No yearly payments. One licence for one domain covers all three builds — OpenCart 4.x, 3.x and 2.3. Moving the shop to another domain? Click “Release licence” on the “Licence” tab of the old shop and activate the key on the new one.

Trial first, then pay. The free 7-day Pro trial starts with a button on the “Licence” tab, one trial per shop. After the trial the index rebuilds itself without the Pro fields and the base search keeps working.

Under the hood

  • No core edits, no OCMOD. The results page works through before/after events of the OpenCart product model on the search route: the module adds a condition with the found products and a relevance order to the core query. Customer group prices, specials, sorting, the category filter and pagination therefore stay core.
  • Own index in the cc_srch_* tables: documents, words, postings, trigrams, codes, a change queue. A full build rewrites the index in place, so search keeps working during a rebuild.
  • Updates without delay. Admin events on saving and deleting a product, category, manufacturer and option; changes to more than 50 products go through the queue. An order only updates the in-stock flag. Once an hour there is a safety check by the product’s modification date.
  • Text normalisation is the same as in our Smart Search for WooCommerce: the same light stemmer, the same rules for і/и/ы, є/е/э, apostrophes and Cyrillic look-alikes of Latin letters in codes.
  • Smart Filter compatibility. For other modules the search text stays a “search”, so Smart Filter for OpenCart narrows exactly the Smart Search results.
  • Removal. Uninstalling removes the events, the cron task, the index tables and the settings — the shop is back on the standard search. The licence key goes with the settings: activate it again after reinstalling.

How to install

  1. OpenCart 4: Extensions → Installer → upload cc_search.ocmod.zip (keep the file name) and click “Install”. OpenCart 3: Extensions → Installer → cc_search-oc3.ocmod.zip. OpenCart 2.3: the 2.3 installer does not copy files without FTP configured, so upload the contents of the upload/ folder from cc_search-oc2.ocmod.zip to the shop root with your hosting file manager — no FTP setup in OpenCart needed.
  2. Extensions → Extensions → Modules → Smart Search → “Install”, then “Edit”.
  3. The index starts building at once — wait for “The index is ready” (seconds for a few thousand products).
  4. “Index and test” tab: type a query with a typo or a code with spaces into the tester to see what a shopper gets.
  5. Open the storefront and start typing in the search field — suggestions appear under it.
  6. For Pro: paste the licence key from the email after payment, or start the 7-day trial on the “Licence” tab. On 3.x and 2.3, optionally add the cron URL from the “Index and test” tab to your hosting cron.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Will Smart Search work with my theme?

The suggestions attach to the theme's standard search field — the field with name="search" found in the default OpenCart 4, 3 and 2.3 themes and in most third-party themes. The results page is the core OpenCart search page, so your theme styles it. Third-party themes with their own AJAX search (Journal, UniShop and the like) have not been tested: if your theme replaces the field with its own search, change the CSS selector in the settings or check it during the 7-day trial and write to us.

Does the module change OpenCart files?

No. It works through OpenCart events and its own index tables. The core, the product model and OCMOD are untouched; disable the module and the shop searches with the standard search.

How fast does a product appear in search?

Right after you save it in the admin: added, renamed, disabled, deleted — the index updates at that moment. Renaming a category or manufacturer with hundreds of products goes through a queue and finishes within seconds. If an import changes products directly in the database, the module notices within an hour, or sooner with the hosting cron (the URL is on the "Index and test" tab).

How many products can it handle?

On a test catalogue of 20,000 products a full index build took about 10 seconds, and a lookup in the index itself a few milliseconds per query. These are local test-bench numbers; on a busy host they are higher but of the same order. Catalogues above 20,000 products have not been tested.

Are "пилосос" and "пылесос" (Ukrainian and Russian for vacuum cleaner) one word?

No, and we say so plainly: the module merges different spellings of the same letters (і/и, є/е, ї, ґ, apostrophe), but not words that really differ between Ukrainian and Russian. For those there are synonyms in Pro: a line "пилосос, пылесос" and each finds the other.

Do third-party filters on the search page work?

Our Smart Filter for OpenCart has been tested together with Smart Search: a selected filter narrows the search results and the counts match the database. A module that reads the search text itself before products are selected may see "%" instead — we have not seen such a conflict, but if you find one, let us know.

What happens when the Pro trial ends?

The Pro features switch off, the index rebuilds itself without them, and typo-tolerant search by name and codes, the suggestions and the ranked results page keep working. Buy a licence and Pro switches back on.

Is multistore supported?

The index remembers which stores a product belongs to, and each storefront shows only its own products. We have not run a live test with a second store_id, though — check it during the trial.

How much is it, and do I pay every year?

The base version is free. Pro costs UAH 990 once; the OpenCart licence is lifetime, with no yearly payments. One licence for one domain covers all three builds.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module