Show HN: Pg_textsearch – BM25 Ranking for Postgres https://ift.tt/A7oXZHC

Show HN: Pg_textsearch – BM25 Ranking for Postgres I built pg_textsearch, a Postgres extension that brings proper BM25 ranking to full-text search. It's designed for AI/RAG workloads where search quality directly impacts LLM output. Postgres native ts_rank lacks corpus-aware signals (no IDF, no TF saturation, no length normalization). This causes mediocre documents to rank above excellent matches, which matters when your LLM depends on retrieval quality. Quick example: CREATE EXTENSION pg_textsearch; CREATE INDEX articles_idx ON articles USING bm25(content); SELECT title, content <@> to_bm25query('database performance', 'articles_idx') AS score FROM articles ORDER BY score LIMIT 10; Works seamlessly with pgvector or pgvectorscale for hybrid search. Fully transactional (no sync jobs). Preview release uses in-memory architecture (64MB default per index); disk-based segments coming soon. I love ParadeDB's pg_search but wanted something available on our managed Postgres. You can try pg_textsearch free on Tiger Cloud: https://ift.tt/8UBwjrF Blog: https://ift.tt/1nwZHaJ... Docs: https://ift.tt/srUVMHG... Feedback welcome, especially from folks building RAG systems or hybrid search applications. https://ift.tt/b6v5agj October 23, 2025 at 10:55PM

Comments

Popular posts from this blog

Show HN: Agent File (.af) – An open file format for agents https://ift.tt/fzI5HcG

Show HN: Repomance: A Tinder style app for GitHub repo discovery https://ift.tt/ePRYjxb