v0.4.0 Release Notes
Highlights
Posting List Compression — Indexes are now 41% smaller thanks to delta encoding and bitpacking. Compression is enabled by default (pg_textsearch.compress_segments = on) and also improves query performance by 10-20% on short queries due to better cache efficiency.
Other Changes
- Fix for partitioned tables: Resolved "too many LWLocks taken" error when querying partitioned tables with many partitions (#135)
- Better planner integration: Implement
AMPROP_DISTANCE_ORDERABLEso the planner knows BM25 indexes support ordered scans (#133) - Static analysis: Added Coverity scanning to CI and fixed all reported issues (#128, #130)
Compatibility
⚠️ Breaking change: Segment format v3 (compression) is incompatible with v0.3.0 and earlier. Indexes created with older versions must be dropped and recreated after upgrading:
DROP INDEX my_bm25_idx;
CREATE INDEX my_bm25_idx ON my_table USING bm25(content) WITH (text_config='english');