- 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
Sepertinya masih hanya mendukung bahasa Inggris, dan di dokumentasinya disebutkan tokenizer
chinese_compatiblesedang 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...
Bagus juga...!
Semoga ini segera didukung di DBMS terkelola seperti RDS!