Tanpa mengembara ke topik panjang yang mungkin tidak cocok untuk forum pemrograman, saya akan mencoba dan membahas ini pada dasarnya, tetapi tetap mencoba dan membahas poinnya.
Hal utama yang perlu dipertimbangkan saat melakukan perbandingan luas adalah ini:"Bagaimana pencarian teks lengkap mesin database relasional 'XYZ' dibandingkan dengan Lucene" .
Jadi, jika Anda mempertimbangkan hal itu, dan memiliki pengalaman dengan kemampuan "teks lengkap" bawaan dari produk tersebut, maka itu adalah apel yang seharusnya membandingkan dengan apel "teks lengkap" MongoDB.
Singkatnya, MongoDB menawarkan kemampuan teks lengkap dasar, tidak jauh berbeda dengan yang ditemukan dalam produk relasional. Seperti yang disebutkan dalam a :) , fasilitasnya baru, tapi lebih baik dari yang ada sebelumnya, yang bukan apa-apa.
Pada b :) , Lucene, dan turunan/ rekanan (Solr / ElasticSearch, dll) harus dianggap sebagai hewan yang berbeda sama sekali. Di mana Anda membutuhkan tokenizing dan stemming canggih, fasilitas bawaan untuk "Lainnya seperti ini" dan jumlah segi pada pencarian. Dalam kasus tersebut, produk terpisah merupakan kebutuhan yang diperlukan.
Tentu saja ada beberapa solusi untuk mengindeks data dari toko MongoDB di Lucene dll, dan bahkan menyesuaikan proses ini tidaklah sulit. Tapi itu mempertahankan bagian lain yang bergerak dalam infrastruktur Anda.
Jadi saya tidak benar-benar melihat ini sebagai kebutuhan untuk membandingkan Pencarian teks MongoDB dengan Lucene, karena akhirnya mereka ada untuk melakukan hal yang berbeda, itu hanya masalah apa yang butuhkan untuk aplikasi Anda. Pilih solusi yang terbaik untuk Anda.
Satu-satunya hal yang perlu ditambahkan adalah, keluarga Lucene (dan turunannya) adalah produk hebat. Jangan menghindar dari memberi mereka kesempatan, setidaknya untuk mengevaluasi. Poin dari sebelumnya adalah ada lebih banyak kekuatan di sana daripada "Pencarian Teks Basis Data Standar" mana pun. Selanjutnya admin dan kurva belajar umumnya "tidak sesulit yang Anda pikirkan". Selamat bermain, mungkin layak untuk diterapkan.