Skip to content

Bound sequence spars_merge with partial Ruzicka on indexed multisets - #83

Merged
drametwally merged 3 commits into
mainfrom
sequence-spars-merge-full
Oct 1, 2026
Merged

drametwally merged 3 commits into
mainfrom
sequence-spars-merge-full

Conversation

@drametwally

@drametwally drametwally commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Enable merge-time partial Ruzicka conjunction for gld and ngld on inverted_term, with the minimum similarity threshold mapped through KeyShareBounded.
  • Verify surviving candidates on ordered sequences with the configured comparator. Materialize inverted-list posting values where partial conjunction reads them.
  • Extend ConjunctionScored partial bounds with scanned union mass. Move merge threshold mapping to KeyShareBounded. Add unit and integration tests.

Test plan

  • bazel test //:test_main

spars_merge on inverted_term with gld or ngld now prunes rows during merge
using partial Ruzicka conjunction over indexed term counts. The configured
sequence comparator supplies the minimum shared-key fraction. Verification
still scores ordered sequences.

Posting values are materialized on sequence term lists when those bounds apply.
ComparatorCapabilities holds ConjunctionScored, KeyShareBounded, and
DotProductScored probes. Inverted spars_merge partial-conjunction policy
selection lives on MergeSearch.PartialConjunctionPolicy.forInvertedMerge.
SearchThreads cancellation test releases blocked workers so awaitWorkUnits
cannot time out after interrupt.
ComparatorType states dot-product, key-share, and merge-conjunction
capabilities. ComparatorFactory is the cast boundary; indices hold typed
facets or a built partial-conjunction policy. ComparatorCapabilities is
removed and merge search no longer probes the configured comparator.
@drametwally
drametwally merged commit 84a2bc3 into main Oct 1, 2026
3 checks passed
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