18 पॉइंट द्वारा xguru 2024-11-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • pgPDF एक Postgres extension है जो PDF फ़ाइलों को SQL से पढ़ सकता है (poppler का wrapper)
    SELECT pdf_read_file('/path/file.pdf') → text
  • डेटा स्टोर करने का तरीका
    • PDF फ़ाइल की सामग्री को table में text(txt) और binary(bytes) रूप में स्टोर किया जाता है
    • हर PDF का tsvector भी स्टोर किया जाता है। tsvector दस्तावेज़ को text search के लिए optimized रूप में दर्शाता है
    • tsvector बनाना महंगा होता है, लेकिन यह केवल एक बार करना पड़ता है, इसलिए इसे generated column में स्टोर करना बेहतर है
    • FTS query txt column पर नहीं, बल्कि tsvector पर चलाई जाती है
  • FTS query चलाना
    • FTS आम तौर पर tsvector @@ tsquery operator का उपयोग करता है
    • tsquery, tsvector के लिए matching filter को परिभाषित करता है
    • इसके अलावा tsquery के कई प्रकार हैं: plainto_tsquery, phraseto_tsquery, websearch_to_tsquery
    • SELECT name FROM pdfs WHERE tsvec_en @@ to_tsquery('english', 'Postgres & Sharding');
  • tsvector column पर GIN index बनाकर performance बेहतर की जा सकती है

1 टिप्पणियां

 
cosine20 2024-11-01

ओ.....