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

Bisakah pencarian $text melakukan kecocokan sebagian?

MongoDB $text pencarian tidak mendukung pencocokan sebagian. MongoDB memungkinkan kueri pencarian teks pada konten string dengan dukungan untuk case insensitivity, delimiters, stop words, dan stemming. Dan istilah dalam string pencarian Anda, secara default, OR'ed.

Mengambil contoh Anda (sangat berguna :) satu per satu:

SYARAT TUNGGAL, SEBAGIAN

// returns nothing because there is no world word with the value `Crai` in your
// text index and there is no whole word for which `Crai` is a recognised stem
db.submissions.find({"$text":{"$search":"\"Crai\""}})

GANDA PERSYARATAN, LENGKAP

// returns the document because it contains all of these words
// note in the text index Dr. Bob is not a single entry since "." is a delimiter
db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bob\""}})

GANDA PERSYARATAN, SATU PARSIAL

// returns the document because it contains the whole word "Craig" and it 
// contains the whole word "Dr" 
db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bo\""}})

GANDA PERSYARATAN, KEDUA PARSIAL

// returns the document because it contains the whole word "Dr"
db.submissions.find({"$text":{"$search":"\"Crai\" \"Dr. Bo\""}})

Ingatlah bahwa $search string adalah ...

Jadi, jika setidaknya satu istilah dalam $search . Anda string cocok maka MongoDB cocok dengan dokumen itu.

Untuk memverifikasi perilaku ini, jika Anda mengedit dokumen Anda mengubah Dr. Bob ke DrBob maka kueri berikut akan mengembalikan tidak dokumen:

db.submissions.find({"$text":{"$search":"\"Craig\" \"Dr. Bo\""}})
db.submissions.find({"$text":{"$search":"\"Crai\" \"Dr. Bo\""}})

Ini sekarang tidak mengembalikan kecocokan karena Dr bukan lagi kata utuh dalam indeks teks Anda karena tidak diikuti oleh . pembatas.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri di Bidang Hash Mongoid

  2. Bagaimana cara membuat kueri LIKE berfungsi di MongoDB?

  3. Injeksi Ketergantungan NodeJS Express dan Koneksi Database

  4. MongoDB:tidak dapat menggunakan kursor untuk beralih melalui semua data

  5. Periksa bahwa Bidang Ada dengan MongoDB