Postgres'ta PDF tam metin araması yapmak
(tselai.com)- 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
tsvectordeğeri de saklanır.tsvector, belgeyi metin araması için optimize edilmiş bir biçimde temsil eder tsvectoroluşturmak maliyetlidir, ancak yalnızca bir kez yapılması gerektiğinden generated sütunda saklamak iyi bir fikirdir- FTS sorguları
txtsütunu üzerinde değil,tsvectorüzerinde çalıştırılır
- FTS sorgusu çalıştırmak
- FTS genellikle
tsvector @@ tsqueryoperatörünü kullanır tsquery,tsvectoriçin eşleşme filtresini tanımlar- Bunun dışında da çeşitli
tsquerytürleri vardır:plainto_tsquery,phraseto_tsquery,websearch_to_tsquery SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
- FTS genellikle
tsvectorsütununda GIN indeksi oluşturarak performans iyileştirilebilir
1 yorum
O.....