When shoppers search in sentences: semantic search for Magento
Magento's search matches the words shoppers type against the words in your catalogue. When those differ, people get nothing. What you can fix by hand, and what needs search by meaning.
Open Marketing > SEO & Search > Search Terms in almost any Magento store and sort by results. Near the top you will find queries that found nothing, or almost nothing, and that people still typed more than once. Some are typos. Many are not. Someone looked for a "rucksack" in a shop that calls every one of them a backpack. Someone else typed "something warm for winter hiking", and the shop sells exactly that, just not in those words.
Adobe's own documentation makes the same point: the Search Terms list shows the number of results per query, and enough people searching for something you do not seem to have can point to a sales opportunity1. The products are often there. The search just could not connect the words.
The short version: Magento's search finds products whose text contains the words in the query. You can teach it more words by hand, with synonyms, redirects and better product text, and you should. What you cannot do by hand is cover every way people describe what they want. That part needs search by meaning, and that is what our AI Semantic Search module adds next to Magento's own search.
What Magento's search does, and what you can fix yourself
Magento 2.4.9 uses OpenSearch as its search engine2. It indexes the text of your products (name, SKU, descriptions and the attributes you mark as searchable) and ranks products by how well their words match the query. That is fast and precise for what most searches are: a product name, a brand, a SKU, a type of thing.
Before you buy anything, three free fixes are worth an afternoon:
- Search synonyms. Marketing > SEO & Search > Search Synonyms lets you group words that mean the same, such as "rucksack, backpack". The standard feature supports the name and SKU attributes only, and it uses full-text matching3.
- Search term redirects. For a query you know, Search Terms can send shoppers straight to a page, for example a category. Adobe suggests it for common misspellings1.
- Product text. If customers say "waterproof" and your descriptions say "water-resistant membrane", add their word. A searchable attribute such as activity or material with plain values helps every search.
If you run Adobe Commerce, Live Search also has a semantic search option for Adobe Commerce 2.4.4 and newer4. Look at that before adding an extension.
Where keyword search runs out
Synonyms work for single words with a known alternative. They do not help with "bag for a laptop and gym clothes", "comfortable shoes for running in summer" or "a present for a dad who cycles". No synonym list covers how people phrase a need, and a shop with a few thousand products cannot predict them all.
Search by meaning works differently. An embedding model turns a piece of text into a long list of numbers, chosen so that texts with similar meaning end up close together. You do this once for every product and once for every new query, then look for the products whose numbers are closest to the query's. "Rucksack" and a product called "Daypack backpack" land near each other without anyone writing a synonym.
This has a cost and a catch. You need an embedding provider (a paid API), somewhere to store and compare the vectors, and a way to keep precise searches precise. Meaning-based results for a SKU search are usually worse than an exact match, so replacing keyword search entirely is rarely the right move.
How our module fits beside Magento's search
AI Semantic Search does not replace OpenSearch. It plugs into Magento's search request on the results page, so filters, layered navigation, sorting and pagination keep working as before. Each store view has a mode:
Fallback is the default. Classic results stay exactly as they were, and semantic results are added only when classic search finds fewer than 5 products or the query reads like a sentence (4 words or more, or a shorter query with words like "for" or "with"). Other searches never reach the AI. Hybrid blends classic and semantic rankings for every query, which suits descriptive catalogues such as fashion, gifts or furniture. Semantic only exists for experiments. Off switches it off for that store view.
Products are indexed through our AI Core module: one vector per product and store view, built from the name, categories, attributes you choose (colour, material, activity and so on), short description and description. A product is embedded again only when that text changes. Embeddings come from OpenAI or Voyage AI with your own key. The vectors are stored in OpenSearch if the k-NN plugin is installed, otherwise in MySQL, which the user guide calls fine up to about 5,000 products per store view.
We built it so that it cannot make search worse when something goes wrong. A new query waits at most 1.5 seconds for the AI by default, then shoppers get classic results. After an error the AI is paused for 60 seconds. There are rate limits per shop and per visitor, and AI Core's monthly budget applies. Query vectors are cached for 7 days, so a repeated query costs nothing.
Two parts tie it back to the manual tools above. Search Insights lists queries that semantic search rescued and queries that still found nothing. And for zero-result queries searched at least twice, the module can ask the AI to propose a synonym group or a redirect to a category. Nothing is written until you approve it, and then it goes into Magento's own Search Synonyms or Search Terms.
What it does not do
It needs OpenSearch as the search engine; Elasticsearch 8 is not supported. The search queries shoppers type are sent to your embedding provider, except queries that contain an e-mail address or a phone number, which get classic results only and are never sent or stored. Your privacy notice should mention the provider. Insights store no customer, session or IP data, and they count searches with a small script on the results page, so shoppers without JavaScript and bots are not counted.
Semantic hits are taken from the whole store view, the top 48, and then filtered, so a very narrow filter can leave few of them. Quality depends on your product text. If a product has a name and a SKU and nothing else, there is little meaning to find.
If your shoppers mostly search by part number, or your Search Terms list shows few zero-result queries, synonyms and redirects are probably all you need. Semantic search is worth trying when that list is full of reasonable requests your catalogue could have answered.
AI Semantic Search is not on sale yet. We are testing it on our demo store, and will write about it again once it is available.
Sources
- Adobe Commerce Admin documentation, "Manage search terms", https://experienceleague.adobe.com/en/docs/commerce-admin/catalog/catalog/search/search-terms, checked 10 October 2026. ↩1 ↩2
- Magento Open Source 2.4.9 source code, app/code/Magento/OpenSearch/etc/config.xml (default search engine
opensearch), checked 10 October 2026. ↩ - Adobe Commerce Admin documentation, "Manage search terms", section "Search synonyms", https://experienceleague.adobe.com/en/docs/commerce-admin/catalog/catalog/search/search-terms#search-synonyms, checked 10 October 2026. ↩
- Adobe Commerce documentation, "Semantic Search", https://experienceleague.adobe.com/en/docs/commerce/live-search/live-search-admin/semantic-search, checked 10 October 2026. ↩