Skip to content

vchord_bm25 1.1.0

Latest

Choose a tag to compare

@Vonng Vonng released this 08 Nov 06:44
· 1 commit to main since this release

vchord_bm25 1.1.0

vchord_bm25 1.1.0 is a correctness and query-path release maintained by PGSTY.

English

Correctness

  • Fixed a rare floating-point rounding case in Block-WeakAnd (WAND) pruning. Upper bounds now sum term contributions in the same query order as document scoring, preventing near-tied documents from being silently omitted from complete scans.
  • Applied the fix to pivot, block, tight-bound, prefilter, growing-segment, and paginated scan paths.
  • Added regression coverage for near ties, prefilter on/off, pagination, deletes, growing records, VACUUM, and absent query terms.

Query path

  • Dense ordinal bitmap state is now sized to sealed cursors that actually contribute to a query, so absent terms do not allocate state proportional to the total query length.
  • Long high-frequency queries remain workload-dependent and can spend more CPU in bound calculation than short queries; measure representative workloads and tune bm25.limit as needed.

Compatibility and upgrade

  • Keeps the native PostgreSQL tsvector API and format 4 index storage introduced in 1.0.0.
  • Healthy 1.0.0 indexes do not need REINDEX.
  • Run ALTER EXTENSION vchord_bm25 UPDATE TO '1.1.0'; after installing the 1.1.0 library and SQL files. The 1.0.0--1.1.0 script is intentionally empty because the fix is in the library code.
  • The 0.3.x bm25vector API and index format remain incompatible; follow the migration guide for that boundary.
  • bm25.limit controls the initial WAND batch size rather than imposing a hard result cap. WHERE vector @@ ... remains an executor filter; use GIN when it is a better path for selective or empty matches.

Validation and distribution

Validated with PostgreSQL 18.6 acceptance, SQLLogicTest, Rust tests, Clippy with -D warnings, PG14–18 Linux CI on x86_64/aarch64, and a checked PGXN source archive.

Release notes

English release notes · Chinese release notes