- pgPDF, PDF dosyalarını SQL ile okuyabilen bir Postgres uzantısıdır (poppler için bir wrapper)
SELECT pdf_read_file('/path/file.pdf') → text
- Veri depolama yöntemi
- PDF dosyası içeriği, tabloda metin (txt) ve ikili veri (bytes) biçiminde saklanır
- Her PDF'in
tsvector değeri de saklanır. tsvector, belgeyi metin araması için optimize edilmiş bir biçimde temsil eder
tsvector oluşturmak maliyetlidir, ancak yalnızca bir kez yapılması gerektiğinden generated sütunda saklamak iyi bir fikirdir
- FTS sorguları
txt sütunu üzerinde değil, tsvector üzerinde çalıştırılır
- FTS sorgusu çalıştırmak
- FTS genellikle
tsvector @@ tsquery operatörünü kullanır
tsquery, tsvector için eşleşme filtresini tanımlar
- Bunun dışında da çeşitli
tsquery türleri vardır: plainto_tsquery, phraseto_tsquery, websearch_to_tsquery
SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
tsvector sütununda GIN indeksi oluşturarak performans iyileştirilebilir
1 yorum
O.....