PGroonga 4.0.0 – Búsqueda rápida de texto completo multilingüe
Saludos,
¡Ha sido lanzado PGroonga 4.0.0!
Se trata de la cuarta versión de PGroonga. Esta versión incluye un cambio incompatible con versiones anteriores. Elimina la API (esquema de pgroonga
) que quedó obsoleta en PGroonga 2.0.0 publicada el 17-08-2017. Si no utilizan el esquema de pgroonga
, pueden actualizar a la versión 4.0.0 utilizando ALTER EXTENSION pgroonga UPDATE
sin problemas de incompatibilidad con versiones anteriores. En cambio, si siguen utilizando el esquema de pgroonga
, deberán migrar a la API pgroonga_XXX
actual desde pgroonga.XXX
.
La versión 4.0.0 también incluye soporte para la creación en paralelo de índices. Es posible crear un índice de 2 a 10 veces más rápido.
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
- Resultado del benchmark realizado con PGroonga y pg_bigm en la versión japonesa de Wikipedia
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.
Usuarios
https://pgroonga.github.io/users/ contiene una lista de usuarios de PGroonga. Si eres usuario de PGroonga, ¡envíanos tu caso de uso!
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,