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

Bagaimana DAN dan TIDAK di MongoDB $pencarian teks

Ada beberapa opsi yang dapat Anda gunakan dengan pencarian teks untuk memenuhi kebutuhan tersebut. Perhatikan dokumen berikut:

{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }

"Daftar" kata default adalah atau penyertaan, tetapi jika Anda tidak menginginkan dan termasuk Anda "mengutip" kata-kata:

db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }

Jika Anda ingin mengecualikan sebuah kata kemudian Anda awali dengan - :

db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }

Dan jika Anda menginginkan bagian dari itu sebagai frasa yang tepat lalu Anda "mengutip" seluruh frasa:

db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }

Stemming words memang bermasalah, jadi :

db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})

Tidak akan benar-benar mengembalikan hasil.

Lihat dokumentasi di $text operator untuk contoh. Tidak semua ada di sana saat ini, tetapi semakin baik.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Keamanan Basis Data 101:Memahami Hak Istimewa Akses Basis Data

  2. Apa saja perintah dasar MongoDB dan bagaimana cara menggunakannya?

  3. Cara termudah untuk menyalin/mengkloning contoh dokumen luwak?

  4. Apakah buruk mengubah tipe _id di MongoDB menjadi integer?

  5. SCUMM:Infrastruktur Pemantauan Database Berbasis Agen di ClusterControl