search
Find needle in this page's text. Matches may cross line boundaries inside a block: a line break counts as one space, except after a line ending in a hyphen, which joins the halves directly with the hyphen dropped (so a hyphenated "compres-/sion" matches "compression"). Matches never cross block boundaries. Case-insensitive comparison uses per-position regionMatches, so indices stay aligned for any script.
Parameters
stamped onto each hit (the model itself is page-local).
search with an explicit page location in the current layout. The caller owns the page coordinate: structured text alone cannot recover its chapter or page. pageIndex keeps its caller-supplied meaning and may be -1 when unknown. Neither the location nor the quads are a content anchor that survives reflow.