MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Pencarian Teks Lengkap di MongoDB tidak memberikan hasil yang diharapkan untuk @@@

Penelusuran teks dirancang untuk mengindeks string berdasarkan heuristik bahasa . Pengindeksan teks melibatkan dua langkah umum:tokenizing (mengonversi string menjadi istilah individu minat) diikuti oleh stemming (mengubah setiap istilah menjadi bentuk akar untuk pengindeksan berdasarkan aturan khusus bahasa).

Selama langkah tokenizing karakter tertentu (misalnya, simbol tanda baca seperti @ ) diklasifikasikan sebagai pemisah kata (alias pembatas ) daripada input teks dan digunakan untuk memisahkan string asli menjadi istilah. kata hentikan khusus bahasa (kata-kata umum seperti "the", "is", atau "on" dalam bahasa Inggris) juga dikecualikan dari indeks teks.

Karena frasa pencarian Anda dari @@@ seluruhnya terdiri dari pembatas, tidak ada entri yang sesuai dalam indeks teks.

Jika Anda ingin mencocokkan pola string umum, Anda harus menggunakan ekspresi reguler daripada pencarian teks. Misalnya:db.getCollection('TestCollection').find({field2:/@@@/}) . Namun, harap perhatikan peringatan tentang penggunaan indeks untuk ekspresi reguler.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Temukan Hitungan dari semua Interval yang Tumpang Tindih

  2. Buat Indeks Teks Wildcard di MongoDB

  3. MongoDb - Kueri Array

  4. RuntimeError:Tugas dilampirkan ke loop yang berbeda

  5. Hanya ekspos bidang tertentu saat melihat item tertentu dengan Data Musim Semi?