Indexing
How indexing works
Bulk operations, webhooks, schedules and jobs.
Indexing is how your Shopify catalog becomes searchable, fitment-aware documents. Everything the storefront shows comes from the index; nothing shopper-facing queries Shopify directly.
Full reindex#
A full run uses a Shopify bulk operation: the app asks for the entire catalog, Shopify assembles a file, and the app streams it into the index. Products, variants, prices, compare-at prices, inventory, vendor, type, collection memberships and metafields all come in one pass.
Full runs happen on install, when you press Reindex, on your plan's schedule, and after changes that invalidate everything — a new metafield mapping, a new fitment source.
Rough timing: a 40,000-SKU catalog in under ten minutes, scaling roughly linearly. Your storefront keeps serving the previous index throughout; the swap is atomic.
Realtime updates#
From Growth up, the app subscribes to:
products/create
products/update
products/delete
inventory_levels/update
Each webhook updates only the affected documents, so a price change is live in seconds. A daily full reindex runs behind it as a safety net for anything a dropped webhook missed.
Starter subscribes to no webhooks at all — deliberately. Queueing webhooks a plan cannot act on adds complexity for no benefit; the six-hourly schedule is the whole mechanism.
Schedules by plan#
| Plan | Webhooks | Scheduled full reindex | Manual |
|---|---|---|---|
| Starter | None | Every 6 hours | Yes |
| Growth | Yes | Daily safety net | Yes |
| Pro | Yes | Daily safety net | Yes |
| Enterprise | Yes | Daily safety net | Yes |
Jobs#
Every run is logged with a status, start and end time, counts, and any per-product errors. Jobs orphaned by a deploy are auto-failed after twenty minutes rather than sitting as "running" forever.
You can watch a running job's progress live under Indexing.
When to press Reindex#
- After connecting or changing a fitment source
- After changing a metafield mapping
- After a bulk product import
- After adding normalization rules that should re-resolve previously unmatched values
- When something looks wrong and you want to eliminate staleness as a cause
You do not need to reindex after changing ranking weights, filter display order, copy templates, or turning the Fitment Data add-on on or off — those are read at query time.
Support is answered by the people who wrote this code — not a ticket queue.