- pgPDF est une extension Postgres qui permet de lire des fichiers PDF en SQL (wrapper de poppler)
SELECT pdf_read_file('/path/file.pdf') → text - Méthode de stockage des données
- Le contenu des fichiers PDF est stocké dans une table sous forme de texte (txt) et de binaire (bytes)
- Le
tsvectorde chaque PDF est également stocké.tsvectorreprésente un document sous une forme optimisée pour la recherche textuelle - La génération d’un
tsvectorest coûteuse, mais comme elle n’est effectuée qu’une seule fois, il est préférable de le stocker dans une colonne générée - Les requêtes FTS sont exécutées sur le
tsvector, et non sur la colonnetxt
- Exécuter des requêtes FTS
- FTS utilise généralement l’opérateur
tsvector @@ tsquery tsquerydéfinit un filtre de correspondance appliqué àtsvector- Il existe aussi plusieurs autres types de
tsquery:plainto_tsquery,phraseto_tsquery,websearch_to_tsquery SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
- FTS utilise généralement l’opérateur
- Il est possible d’améliorer les performances en créant un index GIN sur la colonne
tsvector
1 commentaires
Oh.....