Baik, pencarian regex dan teks ($teks) membantu Anda mencari dalam teks dengan sangat efisien. Keduanya memiliki kelebihan dan kekurangan masing-masing, Tapi ada dua perbedaan yang jelas
regex
-
Regex tidak memanfaatkan indeks, kecuali jika Anda mencari di awal string menggunakan
^
operator. -
Regex memungkinkan Anda untuk mencari sebagian teks. oleh karena itu .* dan banyak pola lainnya.
-
Regex tidak mendukung kata stop atau noise.
$teks
indeks teks di mongodb sangat cepat dan harus lebih disukai. Namun, MongoDB tidak mengimplementasikan indeks teks berfitur lengkap. Salah satu kelemahan utama adalah, tidak mendukung kecocokan parsial. misalnya jika Anda mencari kucing, itu hanya akan mencari kucing dan kucing tetapi bukan kucing hutan atau ulat.
Intinya adalah jika Anda ingin mengimplementasikan fitur seperti RDBMS
like
operator, '$text' tidak akan membantu Anda (setidaknya dalam implementasi MongoDB saat ini, tetapi di masa mendatang mungkin akan berubah).