27 poin oleh xguru 2023-10-11 | 3 komentar | Bagikan ke WhatsApp
  • Ekstensi Postgres berbasis Rust yang meningkatkan pencarian Full Text
  • Berdasarkan algoritme BM25 yang digunakan mesin pencari modern untuk menghitung skor relevansi hasil pencarian
  • Pencarian berbasis tsvector yang saat ini digunakan Postgres memiliki dua masalah
    • Performa: pencarian pada tabel berskala besar lambat
    • Fitur: tidak mendukung pencarian fuzzy, penyetelan relevansi, atau skor relevansi BM25
  • Tujuannya adalah menjembatani kesenjangan kemampuan pencarian antara Postgres dan ElasticSearch, sehingga tidak perlu menambahkan layanan seperti ElasticSearch ke data stack
  • Fitur-fitur pg_bm25
    • 100% native Postgres. Tanpa dependensi eksternal
    • Berbasis Tantivy, pengganti Apache Lucene yang dibuat dengan Rust
    • 20 kali lebih cepat daripada tsquery/ts_rank, fungsi pencarian/pengurutan bawaan Postgres, untuk lebih dari 1 juta row
    • Mendukung pencarian fuzzy, agregasi, highlighting, dan penyetelan relevansi
    • Skor relevansi menggunakan algoritme BM25 yang dipakai ElasticSearch
    • Pencarian real-time: data baru bisa langsung dicari tanpa reindexing manual

3 komentar

 
secret3056 2023-10-13

Sepertinya masih hanya mendukung bahasa Inggris, dan di dokumentasinya disebutkan tokenizer chinese_compatible sedang dikerjakan.
Selain itu, ukuran image Docker-nya juga cukup besar. Hampir 8GB; mengingat image Postgres murni bahkan tidak sampai 400MB, jadi sebenarnya mereka menumpuk apa di atasnya...

 
cosine20 2023-10-13

Bagus juga...!

 
wnswl 2023-10-11

Semoga ini segera didukung di DBMS terkelola seperti RDS!