PostgreSQL: Búsqueda de Texto Más Rápida con Nueva Extensión

Fuentes: New PostgreSQL Extension Offers Faster, Scalable Full-Text Search

Timescale ha lanzado pg_textsearch, una extensión para PostgreSQL que ofrece una búsqueda de texto completa más rápida y escalable. Disponible en versión 1.0.0, esta herramienta permite realizar búsquedas de texto moderno con una sintaxis sencilla (ORDER BY content <@> 'search terms') y utiliza el ranking BM25, configurable con parámetros k1 y b, compatible con las configuraciones de búsqueda de texto de PostgreSQL (inglés, francés, alemán, etc.). pg_textsearch optimiza las consultas top-k con Block-Max WAND, soporta la construcción de índices en paralelo para tablas grandes y también funciona con tablas particionadas. La extensión, originalmente llamada Tapir, es compatible con PostgreSQL 17 y 18 y está disponible para Linux y macOS (amd64 y arm64). Para su uso, requiere la carga a través de shared_preload_libraries y la creación de un índice bm25 en la columna de texto. La documentación proporciona ejemplos de uso, incluyendo filtrado y consideraciones de rendimiento, destacando la importancia del prefiltrado y el uso de enable_seqscan = off para forzar el uso del índice en ciertos casos. Se recomienda la consolidación de segmentos del índice tras grandes cargas de datos para mejorar el rendimiento.