Skip to content

fix(search): support token search in logical queries - #853

Open
sergioperezcheco wants to merge 1 commit into
krisk:mainfrom
sergioperezcheco:fix/logical-token-search
Open

sergioperezcheco wants to merge 1 commit into
krisk:mainfrom
sergioperezcheco:fix/logical-token-search

Conversation

@sergioperezcheco

Copy link
Copy Markdown

Logical queries with useTokenSearch: true currently throw when a string leaf constructs its token searcher without the collection's inverted-index statistics. Pass the current statistics to the logical parser, matching the ordinary string-search path.

Enforce tokenMatch: 'all' within each logical leaf before combining $and/$or branches. Keyed leaves cover their selected field and array elements; keyless leaves cover the configured keys. Explicit operator leaves and non-token searches keep their existing behavior. This follows the token-word coverage contract described in #827 without changing logical operator semantics.

Add regressions for keyed/keyless queries, per-leaf coverage, mixed operators, collection mutations, and the greater-than-31-term coverage fallback. Rebuild the tracked distributions with the native tsdown build. On Node 22/macOS, the original source fails ten of the new cases; the fix passes all eleven, the complete 460-test suite, lint, and typecheck. Independent built ESM/CJS full/min consumers also pass; Node 20/24 and Linux CI have not been run locally.

Authorship: this contribution was developed and independently reviewed/tested by autonomous AI agents operating for sergioperezcheco; it has not received human review.

Assisted-by: autonomous AI agents
Signed-off-by: sergioperezcheco <checo520@outlook.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant