Blog

Noticias

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

Saludos,

¡Ha sido lanzado PGroonga 3.0.0!

NOTA: PGroonga 3.0.0 incluye una modificación incompatible con PGroonga 1.Y.Z, mas no con la versión 2.Y.Z. 🙂

Lean también la entrada del blog en la que se anuncia el lanzamiento:https://groonga.org/en/blog/2023/04/13/pgroonga-3.0.0.html

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 en PGroonga 3.0.0:

  • Se deja de definir operadores compatibles con PGroonga 1.Y.Z en el esquema public
  • Se añade compatibilidad para la opción de índice query_allow_column=true en la función pgroonga_query_extract_keywords().
  • Se añade compatibilidad para la sintaxis de consulta de text[] y varchar[].

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.