Перейти до вмісту

How it works

Цей контент ще не доступний вашою мовою.

Sieve keeps a pre-built index of every product’s filterable values: categories, tags, attributes, price, stock status, on-sale state and rating. Filtered queries read this index instead of running slow live joins, which keeps large catalogs fast.

Every product is fully indexed across all sources, regardless of which facets are currently shown. That means adding or removing a facet is an instant settings change with no re-index required.

The index updates automatically when a product is created, updated, trashed or deleted. After a bulk import, use Rebuild index on the Sieve admin screen.

When a shopper selects values, Sieve resolves the matching products from the index:

  • Within a single facet, selected values are combined with OR. Choosing two categories shows products in either.
  • Across facets, the sets are combined with AND. A category plus a price range shows products that match both.

Each facet value shows a count of how many products match. These counts are dependent: they reflect the other active filters, so the numbers stay truthful as a shopper narrows down. A facet’s own selection is excluded from its counts, so its options never collapse to a single choice.

The initial filter is server-rendered, then enhanced by a small, dependency-free script. When results change, only the affected fragments are swapped in place, with the results area’s height reserved during the request. This avoids layout shift and keeps interaction snappy. Input is debounced and the swap yields to the main thread to protect responsiveness.