github timescale/pg_textsearch v0.5.1

11 hours ago

Highlights

  • CREATE INDEX CONCURRENTLY: BM25 indexes now support concurrent index builds, allowing index creation without blocking writes.

  • WAND pivot selection: Multi-term queries use improved pivot selection for faster top-k retrieval, complementing the existing Block-Max WAND optimization.

  • Iterative index scans: Queries without an explicit LIMIT now use exponential backoff to avoid scanning the entire index upfront.

  • Progress reporting: CREATE INDEX now reports progress via pg_stat_progress_create_index, visible in standard Postgres monitoring tools.

  • Index scan statistics: BM25 index scans now report tuple and page counts via pg_stat counters (visible in pg_stat_user_indexes and EXPLAIN (ANALYZE, BUFFERS)).

Bug Fixes

  • Fixed BM25 scoring accuracy: block-max upper bounds now use minimum fieldnorm instead of average, preventing valid matches from being incorrectly skipped by BMW optimization.

  • Fixed implicit text <@> text operator resolution in DML subqueries (INSERT...SELECT, UPDATE...FROM, etc.).

  • Fixed to_bm25query() to reject index names that don't refer to a BM25 index.

Full Changelog: v0.5.0...v0.5.1

Don't miss a new pg_textsearch release

NewReleases is sending notifications on new releases.