Search files for literal text pattern.
Routes to backends based on path: specific route searches one backend,
"/" or None searches all backends, otherwise searches
default backend.
Optional total cap on returned matches across all routed
backends. None returns every match; an int enforces the cap
globally (not per backend), short-circuits remaining routes once
the cap is reached, and flags the result truncated=True.
Unlike a single backend, composite does not guarantee the
"exactly max_count matches means complete" boundary: when an
earlier route fills the budget exactly, the remaining routes are
short-circuited and the result is flagged truncated=True even
if those routes would have contributed nothing. The flag is thus
conservative — it may over-report truncation, never under-report.