Introducing searchgres.js: Composable Search in PostgreSQL
Blog post from Tiger Data
searchgres.js is an open-source TypeScript library that uses PostgreSQL to combine BM25 full-text search, semantic vector search, and composable hierarchy, metadata, regex, and time filters in a single retrieval system. Its creators argue that effective RAG and agent memory depend more on retrieving properly scoped evidence than on storing vectors or building complex fact-extraction and memory-management pipelines, citing an F1 score of 0.665 on the LoCoMo benchmark using raw conversational records in one Postgres table. A power-plant example demonstrates how hybrid ranking can identify records explaining a Unit 2 output reduction while pre-filtering by plant, unit, and selected time interval excludes similar but irrelevant incidents. The library fuses semantic and keyword result rankings with Reciprocal Rank Fusion, manages asynchronous embedding generation and updates safely, and supports both human-facing applications and AI agents that iteratively adjust search parameters. Available under the Apache-2.0 license on npm for Node, Bun, and Deno, it requires PostgreSQL 18 with pgvector, pg_textsearch, and ltree extensions, while leaving users responsible for their embedding models, content organization, workers, and access-control rules.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Vector Search | 19 | 1,255 | 252 | 101 | -22% |
| MCP | 3 | 7,233 | 710 | 184 | -32% |
| RAG | 3 | 530 | 141 | 63 | -39% |
| AI Agents | 2 | 3,889 | 962 | 215 | -30% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.