Pencarian full-text PDF di Postgres
(tselai.com)- pgPDF adalah ekstensi Postgres yang memungkinkan file PDF dibaca dengan SQL (wrapper untuk poppler)
SELECT pdf_read_file('/path/file.pdf') → text - Cara penyimpanan data
- Isi file PDF disimpan ke tabel dalam bentuk teks (
txt) dan biner (bytes) tsvectoruntuk setiap PDF juga disimpan.tsvectormerepresentasikan dokumen dalam bentuk yang dioptimalkan untuk pencarian teks- Pembuatan
tsvectormemerlukan biaya besar, tetapi karena hanya dilakukan sekali, sebaiknya disimpan dalam kolom generated - Kueri FTS dijalankan terhadap
tsvector, bukan kolomtxt
- Isi file PDF disimpan ke tabel dalam bentuk teks (
- Menjalankan kueri FTS
- FTS umumnya menggunakan operator
tsvector @@ tsquery tsquerymendefinisikan filter pencocokan untuktsvector- Selain itu ada berbagai jenis
tsquerylain:plainto_tsquery,phraseto_tsquery,websearch_to_tsquery SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
- FTS umumnya menggunakan operator
- Performa dapat ditingkatkan dengan membuat indeks GIN pada kolom
tsvector
1 komentar
Oh.....