27 पॉइंट द्वारा xguru 2023-10-11 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • Rust-आधारित Postgres extension जो Full Text search को बेहतर बनाता है
  • नवीनतम search engines द्वारा इस्तेमाल किए जाने वाले BM25 algorithm (search result की relevance score की गणना) पर आधारित
  • अभी Postgres जो tsvector-आधारित search इस्तेमाल करता है, उसमें 2 समस्याएँ हैं
    • performance : बड़े tables में search धीमा है
    • features : fuzzy search, relevance tuning, या BM25 relevance score जैसे कामों को support नहीं करता
  • लक्ष्य Postgres और ElasticSearch के search features के बीच के gap को भरना है, ताकि data stack में ElasticSearch जैसी service लाने की ज़रूरत न पड़े
  • pg_bm25 की विशेषताएँ
    • 100% Postgres Native. कोई external dependency नहीं
    • Rust-आधारित Apache Lucene के विकल्प Tantivy पर आधारित
    • 10 लाख से अधिक rows पर Postgres के मूल search/sort functions tsquery/ts_rank की तुलना में 20 गुना तेज
    • fuzzy search, aggregation, highlighting, relevance tuning का support
    • ElasticSearch द्वारा इस्तेमाल किए जाने वाले BM25 algorithm का उपयोग करने वाला relevance score
    • real-time search : नया data manual reindexing के बिना तुरंत searchable

3 टिप्पणियां

 
secret3056 2023-10-13

लगता है कि अभी केवल English ही सपोर्ट होता है, और दस्तावेज़ में लिखा है कि chinese_compatible tokenizer पर काम चल रहा है.
इसके अलावा Docker image का साइज़ काफ़ी बड़ा है। लगभग 8GB है; जबकि शुद्ध Postgres image 400MB से भी कम होती है, तो समझ नहीं आता ऊपर आखिर क्या चढ़ा दिया है...

 
cosine20 2023-10-13

अच्छा है...!

 
wnswl 2023-10-11

उम्मीद है कि जल्द ही RDS जैसे managed DBMS भी इसे support करने लगेंगे!