18 poin oleh xguru 2024-11-01 | 1 komentar | Bagikan ke WhatsApp
  • 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)
    • tsvector untuk setiap PDF juga disimpan. tsvector merepresentasikan dokumen dalam bentuk yang dioptimalkan untuk pencarian teks
    • Pembuatan tsvector memerlukan biaya besar, tetapi karena hanya dilakukan sekali, sebaiknya disimpan dalam kolom generated
    • Kueri FTS dijalankan terhadap tsvector, bukan kolom txt
  • Menjalankan kueri FTS
    • FTS umumnya menggunakan operator tsvector @@ tsquery
    • tsquery mendefinisikan filter pencocokan untuk tsvector
    • Selain itu ada berbagai jenis tsquery lain: plainto_tsquery, phraseto_tsquery, websearch_to_tsquery
    • SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
  • Performa dapat ditingkatkan dengan membuat indeks GIN pada kolom tsvector

1 komentar

 
cosine20 2024-11-01

Oh.....