Pay Algolia forever, or live with SQL LIKE
Most commerce platforms force the same trade-off. Use the built-in SQL search and accept slow, unfaceted, single-language results. Or bolt on Algolia or Elasticsearch and pay per query for the lifetime of the catalogue, with a second vendor relationship and a second index to keep in sync.
Advanced Search is a first-class plugin in Vendure Platform, backed by an open-source, self-hostable search engine (single binary, no JVM, no licensing tier), with faceted filtering, search analytics, custom mappings, and typo tolerance built in. No external billing line, no second control plane.
A real search engine for a real commerce catalogue
Five capabilities, one plugin, one engine you control.
Your search engine. Your infrastructure.
The search core is open source. You run it on infrastructure you control. No per-query bill, no third-party contract, no data leaving your systems. Ship the single binary, Docker image, or Kubernetes manifest into the same infrastructure you already operate. Or let Vendure Cloud provision and operate it for you.
Custom mappings and faceted filtering
Index any field on your data model, primitive or object, drawn from product, variant, or related entities. Mark a mapping as facet: true and it becomes a faceted filter in the GraphQL API and the dashboard. The schema is yours, not a fixed shape the plugin imposes.
Multi-language indexes
One index per language, populated from your translated products, variants, and custom fields. Multi-region storefronts get language-tuned tokenisation, ranking, and typo tolerance, with no extra wiring on the storefront side.
Geo-search
Index a Geopoint mapping per variant and query by latitude and longitude. Power stock-near-me, delivery-zone filtering, and store-locator scenarios on the same engine that runs the rest of the catalogue.
Search analytics
Top searches, no-result queries, and click-through patterns, aggregated with a configurable debounce window so partial typing does not pollute the data. Pluggable analytics strategies (SQL or Clickhouse) so the storage layer matches your scale. A merchandising signal, not just instrumentation.
The same search API, with one plugin behind it
No cron, no nightly rebuild, no separate worker to babysit. Indexing runs off Vendure's event bus: when products, variants, assets, collections, or tax data change shape, the plugin picks the event up and writes the corresponding documents in the background. A configurable batch size keeps memory bounded during full reindex jobs, and bufferUpdates lets very large catalogues queue index work and flush on demand instead of hammering the engine on every save.
The storefront keeps the GraphQL search API it already uses on Core. Same query shape, same result envelope, same client. Custom fields you've added to the index surface under customMappings on the result, so storefront code reads them directly without a second round trip.
The dashboard adds the operator surface on top of that same index:
- Synonym management and result pinning for merchandising control.
- Manual reindex controls for forced refreshes.
- Search analytics covering top queries, no-result queries, and click-through patterns.
What teams are using Advanced Search for in production
The configuration surface that supports each one.
The same indexing infrastructure, applied wherever you need search
Advanced Search is not only the storefront product search. The ExternalIndex mechanism is a public extension point: define a collection in the engine, hook into Vendure's event bus for updates and removes, and you get a fully managed search surface for any entity in your system.
The Global Search command palette in the Admin Dashboard uses this mechanism to index products, orders, customers, collections, and assets into one unified collection. Custom-entity search in your own plugins uses the same path. One engine, one set of operational concerns.
Trusted by complex B2B commerce and enterprise retail.
What engineers ask before they ship on Advanced Search
Questions engineering leads ask when evaluating whether to replace a third-party search vendor or move off SQL LIKE.




