Limits
What one request, rule, release or call may hold at most, and why each limit sits where it does.
10000Rules one rules.json may hold.
Characters in a rule's description.
Pins one rule may hold, at unique positions.
Pins one engine query may place.
Boost and bury targets in one engine query, which is one section of a response. The engine pays 2^n - 1 sub-searches for n targets and silently drops weights beyond its scale fuel, which compose.yaml sets to pay for exactly this many.
Engine rules one query switches on, pins and targets together. Each key costs the engine one unit of filter fuel; beyond this many, it drops rules.
Phrases in one is, contains or starts_with.
Levels of any, all and not in one expression.
100Hits one page of a response may hold.
1000Hits one search's pages reach, however many match: the engine ranks every hit up to the page asked for, so a page's time grows with its depth, and the deepest stays within the search latency budget. Totals are counted exactly past it; a response says how many hits are reachable.
Fields one type's combination tokens combine: the variant-level values its facets count. A variant holds up to 2^n - 1 tokens for n of them, so twenty would make a million.
Combinations of chosen values one request's filters may name across the variant-level fields they narrow, such as three colors in two sizes for six.
Patterns in redirects.json. Every URL no exact entry matches runs through all of them; a table of exact entries has no limit of its own.
Facets a page counts on every request before the shopper opens any: the first of its layout, and every one a choice or a request's facets names. The engine pays for each facet it counts each time, and the cost grows with the facets, not with the values they hold, so a page of a hundred facets counts the first thirty and lists the rest without values (deferred).
Values a counted list or swatch facet carries before more says there are others: the most frequent ones, and every chosen one. A request that names the facet in facets gets all of them, and a layout may set another number per facet (limit).
1000Offer changes one PUT /api/v1/offers carries. A larger batch is refused whole, so a shop sends its changes in batches of this size; each batch is one revision.
Banners one page of a response shows, top, grid and bottom together. Placements past it are left out in rule order, and the trace says so.
Synonym entries one add carries, such as the lines of one paste. A larger batch is refused whole.
Words one synonym check searches for; an entry with more is refused whole.
Clicks and views one POST /v1/events carries, well within the 64 kB a browser's beacon may send. A larger batch is refused whole.
Hours after an answer that its clicks and views are taken and joined to its search; an event for an older answer is refused by its query ID's time, without a lookup, and counted as late.
Guide: Limits