Búsqueda de texto completo en PDF con Postgres
(tselai.com)- pgPDF es una extensión de Postgres que permite leer archivos PDF con SQL (un wrapper de poppler)
SELECT pdf_read_file('/path/file.pdf') → text - Forma de almacenar los datos
- El contenido del archivo PDF se guarda en la tabla tanto como texto (
txt) como en binario (bytes) - También se guarda el
tsvectorde cada PDF.tsvectorrepresenta un documento en una forma optimizada para la búsqueda de texto - Generar un
tsvectores costoso, pero como solo se hace una vez, conviene guardarlo en una columna generada - Las consultas FTS se ejecutan sobre
tsvector, no sobre la columnatxt
- El contenido del archivo PDF se guarda en la tabla tanto como texto (
- Ejecutar consultas FTS
- FTS generalmente usa el operador
tsvector @@ tsquery tsquerydefine el filtro de coincidencia paratsvector- Además, hay varios tipos de
tsquery:plainto_tsquery,phraseto_tsquery,websearch_to_tsquery SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
- FTS generalmente usa el operador
- Se puede mejorar el rendimiento creando un índice GIN sobre la columna
tsvector
1 comentarios
Oh.....