1 Why the default search loses customers
Visitors who use the search box usually know fairly precisely what they want to buy. These are exactly the visitors Shopware's default search serves worst. It runs on the shop's MySQL database and essentially compares character strings: a typo like "cable tyes" instead of "cable ties" leads nowhere, word variants and synonyms go unrecognized, and the order of results often has little to do with relevance.
With a small catalog this barely registers. From a few thousand products upward it becomes noticeable: the search slows down because every query runs against the product database, and result quality drops because, without real ranking, everything that contains the string somewhere comes back. You can see the outcome in any search-term report: queries with zero results even though the product is in stock. Every one of those is a visitor who wanted to buy and could not.
2 Elasticsearch: the official answer and its cost
Shopware knows this problem and therefore officially supports Elasticsearch and OpenSearch as search backends. That gives the shop a mature full-text search with ranking, analyzers, and practically unlimited scaling.
The cost is operations. Elasticsearch is a Java application that runs as its own service or cluster, demands significant memory, and wants continuous care: version updates, index mappings, analyzer configuration, monitoring. For an enterprise shop with its own ops team, that is routine. For a mid-sized merchant whose shop runs with a managed hoster, it is an additional system nobody in the company truly masters – which is why it often never gets introduced at all. The default search then simply stays the way it is.
3 What Meilisearch does differently
Meilisearch is an open-source search engine written in Rust that fills exactly this gap. It ships as a single binary – no Java, no mandatory cluster – and runs on a small server or in a container next to the shop. Its defaults are tuned for end-user search, so a freshly set-up index already ranks sensibly before anyone has touched a dial.
Included out of the box: typo tolerance of up to two errors per word, facets and filters for the results page, synonyms, highlighting of matches, and response times that typically stay under 50 milliseconds – fast enough for search-as-you-type. Recent versions also support hybrid search: keyword search combined with semantic search via vector embeddings, connected to OpenAI, Hugging Face, or locally running models via Ollama.
| Default search | Elasticsearch | Meilisearch | |
|---|---|---|---|
| Typo tolerance | No | Configurable (fuzzy query) | Active by default |
| Separate service required | No (runs in MySQL) | Yes, JVM service or cluster | Yes, one lightweight binary |
| Operational effort | None | High (updates, mappings, monitoring) | Low |
| Semantic search | No | Yes, with custom setup | Yes, embedders built in |
| Best suited for | Small catalogs | Enterprise, dedicated ops team | Mid-sized shops, product search focus |
4 Getting Meilisearch into a Shopware shop
There are several routes. The Shopware Store lists a Meilisearch extension that indexes products, manufacturers, and categories and can fall back to Elasticsearch if Meilisearch is unreachable; community plugins exist on GitHub and Packagist. For shops with special requirements – custom entities, specific ranking logic, multilingual catalogs – we build the integration directly against the Shopware data layer: an indexer transfers the relevant fields to Meilisearch, and the storefront search queries the search index instead of the database.
The real work lies less in the technology than in index design: which fields go into the search, how are they weighted, which synonyms does the catalog need, which filters belong on the results page? That is configuration work done together with the merchant, because that is where the knowledge about what customers actually search for lives. A good starting point is the report of past search queries – especially the unsuccessful ones.
An honest note
Meilisearch is not the right choice in every case. If you already run and master Elasticsearch in-house, there is little reason to switch. And if you need log analysis, reporting, or complex aggregations on the same system alongside search, Elasticsearch serves you better – Meilisearch is deliberately an end-user search engine, not a data analysis tool. Its strength lies exactly where most shops stand: the product search gets better without the company taking on a new piece of infrastructure to run.
5 Beyond Shopware
Meilisearch is not limited to shops. In Laravel applications it is directly usable via Laravel Scout as an officially supported search driver – so we also use it in custom software projects, for instance for search in customer portals or internal data sets. And as with our automation projects built on n8n: Meilisearch runs fully self-hosted on your own infrastructure if you wish. Product data and search queries then stay in-house, which keeps the GDPR assessment simple.
If your shop search currently hides more than it finds, we are happy to look at your search-term report together. What else we build around Shopware 6 and how a migration to Shopware 6 works is covered in detail elsewhere on this site.