pg_trgm

PostgreSQL 🟡 Mid

Definition

Extension qui fournit la recherche par similarite basee sur les trigrammes. Permet la recherche floue (fuzzy matching) et le LIKE/ILIKE rapide grace aux index GIN ou GiST.

Analogie

Un correcteur orthographique integre a ta base de donnees : il trouve 'PostgreSQL' meme si tu tapes 'Postgre'.

Exemple de code

CREATE EXTENSION pg_trgm;
CREATE INDEX idx_trgm ON users
  USING gin (name gin_trgm_ops);
SELECT * FROM users
  WHERE name % 'Alic'
  ORDER BY similarity(name, 'Alic') DESC;

Cas d'usage

Implementer une barre de recherche tolerante aux fautes de frappe sans Elasticsearch.

Termes lies

#sgbd#interview#database#postgresql