pg_sift 1.1.0: filter pushdown, facets, parallel scans and partitioned ranking. Upgrade from 1.0: install the new files and run ALTER EXTENSION pg_sift UPDATE.

Highlights

  • Filter pushdown: a ranked scan takes a bitmap of the other quals (btree, BRIN, GIN) as a child and scores only the matches it keeps, so a selective filter stays fast with a very common term; sift.filter_pushdown = off | on | force, default on.
  • Keyword facets: analyzer = keyword plus sift.facets(index, facet_index, query, lim, nulls) counts the matches of a query per value, from bitmaps.
  • Parallel scan: parallel-aware SiftScan and SiftCount behind sift.parallel_scan (default off).
  • Partitioned tables: ORDER BY sift.score(ctid) DESC LIMIT k works through a partitioned parent (per-partition ranked scans under a MergeAppend; per-partition BM25 statistics).
  • Fix: a crash rechecking a phrase with count(*) or a ranked scan on an expression index, and a planner crash on an empty analyzed partition (both also affect 1.0.0).

Compatibility and packages

  • PostgreSQL 18.
  • x86-64 packages for PostgreSQL 18 are attached below (SHA256SUMS included): .deb for Debian 13 and Ubuntu 24.04 (PGDG postgresql-18), .rpm for RHEL, Rocky and Alma 9 and 10 (PGDG postgresql18-server); other setups build from source with make USE_PGXS=1.

Every change: CHANGELOG.md.