Blog

Noticias

PGroonga 3.2.1 – Búsqueda rápida de texto completo multilingüe

Saludos,

¡Ha sido lanzado PGroonga 3.2.1!

Esta versión añade soporte para el gestor de recursos de WAL.

Con el soporte para el gestor de recursos de WAL, es posible solucionar los siguientes problemas relacionados con el enfoque general de WAL en PGroonga < 3.2.1:

  • Es necesario eliminar manualmente los WAL antiguos para evitar un uso ilimitado del almacenamiento
  • Es necesario utilizar un mecanismo adicional para aplicar WAL en segundo plano
  • Es necesaria la recuperación después de una caída tras el inicio de PostgreSQL

Consulte también el siguiente documento sobre cómo utilizar esta característica: Streaming replication by WAL resource manager (Replicación en flujo mediante el gestor de recursos de WAL)

Tengan en cuenta que se necesita PostgreSQL 15 o posterior porque esta funcionalidad se basa en el gestor de recursos de WAL personalizado que está disponible desde PostgreSQL 15. 

Si están interesados en saber cómo implementar el gestor de recursos de WAL, consulten también el siguiente artículo del blog:

Japonés: Cómo implementar el gestor de recursos de WAL en PGroonga

Inglés: Traducción de Google del artículo

Información sobre PGroonga

PGroonga es una extensión de PostgreSQL que lo convierte en una plataforma de búsqueda rápida de texto completo para todos los idiomas. Se publica bajo licencia PostgreSQL.

Existen algunas extensiones de PostgreSQL, como pg_trgm, que mejoran su función de búsqueda de texto completo.

pg_trgm no es compatible con idiomas como el japonés y el chino que utilizan caracteres no alfanuméricos.

PGroonga, en cambio, es compatible con todos los idiomas, proporciona características de búsqueda de texto completo enriquecido, y es muy rápido. Además, utiliza como backend Groonga, un motor de búsqueda de texto completo.

Consulten los siguientes resultados de pruebas de rendimiento::

  • Resultado del benchmark realizado con PGroonga, textsearch y pg_trgm en la versión inglesa de Wikipedia https://pgroonga.github.io/reference/pgroonga-versus-textsearch-and-pg-trgm.html
  • Resultado del benchmark realizado con PGroonga y pg_bigm en la versión japonesa de Wikipedia https://pgroonga.github.io/reference/pgroonga-versus-pg-bigm.html

PGroonga soporta también la búsqueda en JSON. Puede utilizarse cada valor como condición. Además, es posible realizar una búsqueda de texto completo en todos los textos en JSON tal como lo hace textsearch en PostgreSQL 10.

Cambios

Estos son los cambios destacados de PGroonga 3.2.1:

  • Se añade soporte para el gestor de recursos de WAL 
  • Se añade soporte para el downgrade mediante ALTER EXTENSION … UPDATE
  • Se añade soporte para Ubuntu 24.04 (Noble Numbat)
  • Se añade soporte para la búsqueda de tolerancia a errores tipográficos
  • Corregidos algunos errores de bloqueo

Para consultar todos los cambios, véase también la nota de la versión 3.2.1.

Uso

Para utilizar PGroonga no es necesario tener conocimientos sobre la búsqueda de texto completo. Es suficiente con crear un índice y definir una condición en WHERE:

CREATE INDEX index_name ON table USING pgroonga (column);
SELECT * FROM table WHERE column &@~ 'PostgreSQL';

Puede también utilizarse LIKE con PGroonga. PGroonga proporciona una función que ejecuta LIKE con índices. Un LIKE con índice PGroonga es más rápido que un LIKE sin índice. Esto significa que es posible mejorar el rendimiento sin necesidad de cambiar la aplicación que utiliza el siguiente SQL:

SELECT * FROM table WHERE column LIKE '%PostgreSQL%';

Si están interesados en PGroonga, instálenlo y prueben el tutorial. Podrán conocer todas sus características. 

PGroonga puede ser instalado con facilidad, ya que se distribuye en paquetes para las principales plataformas, incluyendo binarios para Windows.

Gracias,

Haz clic aquí para leer la noticia original en inglés en la página web oficial de PostgreSQL.