Plugin and theme vendors
Keep your UI, branding and customers. Replace expensive catalog reads with a local index instead of building one.
OEM and platforms
Searchmaker Engine is a plain PHP library with a standalone runtime. License it to put fast catalog search, filters and feeds inside your own plugin, platform or hosting product, under your brand.
No public price list: every OEM arrangement is scoped with you.
// build, from cron / admin / CLI $catalog = new \Searchmaker\Engine\Catalog($dataDir, 'en'); $catalog->rebuild($products, ['currency' => 'EUR']); // query in-process, input is whitelisted $result = $catalog->query($_GET); // or expose the standalone endpoint [$status, $body] = (new \Searchmaker\Runtime\Runtime( $dataDir, ['en'], 'en', ['catalog', 'autocomplete'] ))->handle($_GET);
Who it is for
Keep your UI, branding and customers. Replace expensive catalog reads with a local index instead of building one.
Offer fast catalog search and filters to every WooCommerce store on your platform without running a search cluster.
Index the catalog you already own and serve storefront search from your own endpoint, with price and stock patched live.
The Engine has no WordPress dependency. Anything that can yield normalized products can be indexed and queried.
Division of labour
A clean seam: your UI and source adapter on one side, a tested index, query engine and feed writer on the other.
| You | The Engine |
|---|---|
| Frontend UX, theme and page-builder compatibility | Index format, build, validation, atomic activation and rollback |
| Settings, branding and licensing of your own product | Query parsing and execution: search, facets, price, sort, paging |
| A source adapter that turns your data into normalized products | Relevance primitives: exact SKU, prefix, typo and compound words, accent folding |
| Change tracking and rebuild scheduling | Patches for price and stock, delta layers for edits, bounded-memory iteration |
| Request routing for your endpoint | A framework-free runtime handler with limits and a mode whitelist |
What you get
Builds are written aside, checksummed and switched in atomically. Rollback is built in; the active index is never modified in place.
Price and stock patch in tens of milliseconds, edits become small delta layers. Rebuilds are for the cases that need them.
Fixed-size reads, streaming builders and a streaming Merchant feed writer. No product arrays on the query path.
Accent folding, synonym packs compiled per catalog, and privacy-safe learning from zero-result searches through a separate collector.
A read-only public runtime with strict limits, no SQL, no eval, no user-controlled paths. Writes happen only in admin and builders.
Within a major version the Catalog API, product shape and query keys stay backwards compatible. The binary index is versioned and rebuilt, never migrated in place.
0.39ms
Category, brand, facets and stock on 100,000 products.
178ms
Writes 0.9 MB instead of a 41 MB rebuild.
6.4s
Streaming writer, bounded memory.
504checks
Engine, plugin and runtime, plus live WordPress runs.
* Development measurements on a synthetic catalog; see benchmarks and the technical paper.
Requirements
How we work
Typical models are an annual OEM license, a base plus per-active-site royalty, or a negotiated distribution license. No public price list.