Baru-baru ini saya mendapati diri saya kesal pada keterbatasan mesin pengindeksan dokumen. Saya sedang mengembangkan sebuah situs web kecil yang membutuhkan beberapa kemampuan pencarian yang cukup kuat tetapi karena kendala perangkat kerasnya, saya tidak dapat menggunakan solusi Lucene-ish (seperti Solr atau ElasticSearch, seperti yang biasanya saya lakukan) untuk menangani kebutuhan ini.
Dan bahkan saat itu, ketika saya perlu menyajikan beberapa data dan perhitungan yang kompleks yang padat-basis data, saya tidak perlu menangani lebih dari 250 ribu catatan potensial. Menyebarkan seluruh contoh Solr atau ES hanya untuk menangani ini sepertinya sia-sia.
Setelah saya memikirkannya, sepertinya masalah yang cukup besar. Kebanyakan orang menangani persyaratan pencarian hanya dengan SQL. Mereka hanya menjalankan query SQL untuk data mereka dan hanya itu. Kemampuan pencarian mereka juga berakhir mengerikan.
Melakukan pencarian wildcard full-text blanket bisa sangat lambat pada beberapa sistem (host bersama khususnya) dan menghambat database Anda, terutama jika Anda memiliki pertanyaan yang rumit dan banyak bergabung.
Anda akhirnya melakukan beberapa kueri atas satu permintaan dari pengguna. Anda mungkin bisa menyelesaikan ini dengan pertanyaan yang semakin rumit, tetapi lihat poin sebelumnya.
Kurangnya fitur biasanya hadir dalam mesin teks lengkap.
Basis data memiliki masalah yang sama yaitu perlu digunakan sebagai server dan kemudian SQLite datang dan tiba-tiba kita bisa menggunakan database yang lengkap dalam satu file. Googling saya tidak menghasilkan apa-apa - bertanya-tanya apakah ada sesuatu seperti ini untuk pengindeksan / pencarian teks lengkap.
Faktor-faktor apa yang harus dipertimbangkan ketika memutuskan apakah akan menerapkan pengindeksan dokumen ringan (misalnya seperti yang dijelaskan dalam jawaban atas pertanyaan lain ) atau tetap menggunakan SQL untuk situasi ini?