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:

text
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#

PlanWebhooksScheduled full reindexManual
StarterNoneEvery 6 hoursYes
GrowthYesDaily safety netYes
ProYesDaily safety netYes
EnterpriseYesDaily safety netYes

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.

Still stuck?

Support is answered by the people who wrote this code — not a ticket queue.

Contact support