Magento Open Source and Adobe Commerce use OpenSearch as the engine behind catalog search and layered navigation. You point the store at an OpenSearch cluster in the admin, keep the catalogsearch_fulltext index current with cron, and then shape relevance with attribute settings, search weights, synonyms and stopwords. Most "bad search" complaints come from stale indexes, attributes that are not searchable, or missing synonyms, not from OpenSearch itself.
This guide covers how the pieces fit together, a safe setup, the tuning levers you control without custom code, and a troubleshooting table that maps each symptom to its likely cause and fix.
How Magento uses OpenSearch
Every 2.4.x installation needs a search engine. Adobe added OpenSearch support in 2.4.4, describing it as a compatible fork of Elasticsearch. For 2.4.9, Adobe's system requirements list OpenSearch 3 and no Elasticsearch row, so new builds and upgrades should plan on OpenSearch.
Magento does not query your database for storefront search. It copies searchable product data into OpenSearch through the Catalog Search indexer (catalogsearch_fulltext). Search results pages and layered navigation filters then read from that index. Two consequences follow:
- If the index is stale, search is wrong, even when the product looks correct in the admin.
- Indexing depends on cron. If cron stops, search quietly drifts out of date. Our guide to Magento cron and indexers explains how to monitor this.
Setting up OpenSearch safely
Where the settings live
In the admin, go to Stores > Settings > Configuration > Catalog > Catalog > Catalog Search. There you set the search engine, the OpenSearch server hostname, port (default 9200), index prefix (default magento2) and server timeout (default 15 seconds), then use the connection test. The same values can be set from the command line, which is better for repeatable deployments:
bin/magento config:set catalog/search/engine opensearch
bin/magento indexer:reindex catalogsearch_fulltext
bin/magento cache:cleanArchitecture choices
- Separate host or managed service. Adobe documents running the search engine on its own host, reached through a reverse proxy over TLS with HTTP Basic authentication. Do not expose port 9200 to the internet.
- Unique index prefix per environment. If staging and production share a cluster, give each its own prefix so a staging reindex never overwrites live data.
- Match the supported version. Use the OpenSearch major version listed for your exact Magento release and patch. Upgrading Magento and OpenSearch together is common, so plan both in the same project.
- Memory and disk. Size the JVM heap and disk using OpenSearch's own guidance, and monitor cluster health. A yellow or red cluster shows up as slow or failed searches.
The relevance levers you already have
Before buying a new search product, use the controls built into Magento. Each one changes what OpenSearch receives or how queries are built.
Attribute settings
At Stores > Attributes > Product, open an attribute and check Storefront Properties:
- Use in Search decides whether the attribute is indexed for search at all. Brand, model number and material are often missed.
- Search Weight (1 to 10) boosts matches in that attribute. Give the product name and SKU more weight than long descriptions so a short title match outranks a passing mention in body copy.
- Visible in Advanced Search only affects the advanced search form.
Also check each product's Visibility. Only products set to "Search" or "Catalog, Search" appear in results. Child products of configurables are usually "Not Visible Individually" and are found through their parent.
Synonyms, search terms and stopwords
- Search synonyms at Marketing > SEO & Search > Search Synonyms map words shoppers use to words in your catalog, such as "sofa" and "couch", or a brand abbreviation and its full name. Groups can be scoped per store view, which matters for multi-language stores.
- Search terms at Marketing > SEO & Search > Search Terms let you set a redirect URL for a query, so "returns" goes to your returns page instead of a product grid.
- Stopwords are kept in CSV files per locale in the Elasticsearch module's
etc/stopwordsdirectory. Adobe's documentation explains how to override them in a custom module rather than editing vendor files.
Query settings
In the same Catalog Search section, Minimal Query Length (default 3) and Minimum Terms to Match change how strict multi-word queries are. A stricter match setting reduces noisy results but can increase "no results" pages for long queries, so change it in small steps and compare.
Search-quality troubleshooting table
Use this table when merchandisers or customers report bad results. Work from the top: the first rows are the most common and cheapest to fix.
| Symptom | Likely cause | Fix |
|---|---|---|
| New or edited products missing from results | Catalog Search index stale; cron not running or indexer backlog | Run bin/magento indexer:status, check cron, reindex catalogsearch_fulltext |
| Search by SKU or model number finds nothing | SKU-like attribute not set to Use in Search, or low weight | Enable Use in Search, raise Search Weight, reindex |
| Product exists but never appears in search | Visibility excludes Search, product out of stock with "Display Out of Stock Products" off, or not assigned to the website | Correct Visibility, stock display setting and website assignment |
| Long-description matches outrank exact title matches | Description weight equal to or higher than name | Raise name and SKU weight, lower description weight |
| Shoppers' words return zero results ("couch", "tee") | Vocabulary mismatch | Add synonym groups from your zero-result search terms |
| Too many loosely related results for multi-word queries | Matching too lenient | Adjust Minimum Terms to Match; review which attributes are searchable |
| Search works in one store view but not another | Synonyms, stopwords or attribute labels not set for that locale or view | Scope synonyms per store view; check locale stopwords |
| Search pages slow or timing out | Cluster under-sized, unhealthy, or many heavy aggregations from layered navigation | Check cluster health, heap and disk; limit filterable attributes to the ones shoppers use |
| Search fails completely after an upgrade | OpenSearch version not supported by the new release, or engine setting reset | Match the version in Adobe's requirements; confirm catalog/search/engine; reindex |
| Staging changes appear on the live store | Environments share a cluster and index prefix | Give each environment a unique index prefix |
Measure before and after you tune
Tuning without data turns into guesswork. Start with the Search Terms report under Reports, which shows what people type and how many results each query returned. Sort by zero-result queries and by your highest-volume queries, then:
- Pick the 20 to 50 queries that matter most for revenue.
- Record the top results for each before you change anything.
- Make one change at a time (weights, synonyms or match settings), reindex, and compare.
- Track search exit rate and search-to-cart rate in your analytics, not just zero-result counts.
Search speed also matters. OpenSearch is only one part of the response time; theme, layout, block rendering and layered navigation code all add to it, and search pages vary too much by query to benefit much from caching. If search pages are slow, treat it as part of wider Magento performance optimization work rather than a search-only fix.
When native OpenSearch is not enough
Core Magento search is keyword-based. It handles exact and partial term matches well once tuned, but it does not understand intent ("warm jacket for hiking under 200") or learn from clicks on its own. Signs you have outgrown it:
- Large catalogs where shoppers describe needs rather than product names.
- Merchandisers asking for rules, boosts and personalization per query.
- Many languages where maintaining synonyms by hand does not scale.
Options include Adobe's own Live Search for Adobe Commerce (availability depends on edition and licence), third-party search services, and semantic or vector search built on OpenSearch features. Our article on AI site search for ecommerce compares these approaches.
FAQ
Can Magento 2.4 run without OpenSearch or Elasticsearch?
No. Since 2.4.0 a search engine is required, and MySQL search is no longer an option. For 2.4.9, Adobe lists OpenSearch 3.
Do I need to reindex after changing synonyms?
Synonyms are applied at query time in Magento's search, so a cache clean is usually enough. Changes to attribute searchability or weights do need a Catalog Search reindex.
Should OpenSearch run on the same server as Magento?
It can on small stores, but a separate host or managed service is easier to size, secure and upgrade. Keep it private and behind authentication either way.
If your store's search is slow or returns poor results, Mistri can review the index, configuration and relevance settings, then plan the fix as part of performance work or, where keyword search has hit its limits, an AI search project.
Sources
Adobe Experience League: Search engine prerequisites; Adobe Experience League: Catalog configuration reference; Adobe Experience League: System requirements; Adobe Experience League: Search stopwords.


