Files
tantivy/src
James Sewell 4480cf0a98 Enable BMW for single-scorer boolean queries by removing early return in scorer_union (#2915)
The early return for `scorers.len() == 1` in `scorer_union` short-circuits a single TermScorer into `SpecializedScorer::Other`, bypassing the `TermUnion` path that enables block-max WAND (BMW) in `for_each_pruning`.

This was originally addressed in PR #2898 (backed out), which added a special case in `BooleanWeight::for_each_pruning`. PR #2912 (merged as d27ca164a) added a single-scorer fast path inside `block_wand` itself, but did not remove this early return — so a single SHOULD TermScorer still never reaches the BMW path.

Removing the early return lets a single TermScorer with freq reading flow through to `SpecializedScorer::TermUnion`, where `block_wand` → `block_wand_single_scorer` handles it efficiently.
2026-04-28 14:49:53 -07:00
..
2026-03-18 17:28:59 +01:00
2026-01-27 09:22:11 +01:00
2026-03-18 17:28:59 +01:00
2025-10-23 10:23:34 +02:00
2025-07-02 11:25:03 +02:00
2026-01-02 12:40:42 +01:00
2026-01-27 09:22:11 +01:00
2026-01-02 12:40:42 +01:00
2026-03-18 17:28:59 +01:00
2025-12-01 15:38:57 +01:00
2025-12-01 12:15:41 +01:00
2024-10-22 09:26:54 +08:00