Binary substring scorer: returns 100 when term is a case-insensitive
substring of title, else 0. Retained as a simple, deterministic scorer for
ranking/tests; the leaf gate in scoreAstMatch uses per-word presence.
Evaluates a product title against a SearchAst, returning a relevance
score when the boolean predicate holds, or null when it doesn't (so the item
is filtered out).
Options for scoreAstMatch.