- 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 टिप्पणियां
ओ.....