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

Bagaimana menemukan kesamaan di bidang dokumen MongoDB?

Jika Anda perlu menghitung kesamaan teks pada about salah satu cara untuk mencapainya adalah dengan menggunakan indeks teks .

Misalnya (dalam mongo shell), jika Anda membuat indeks teks pada about bidang:

db.collection.createIndex({about: 'text'})

anda dapat menjalankan kueri seperti (contoh diambil dari https://docs.mongodb.com/manual/reference/operator/query/text/#sort-by-text-search-score ):

db.collection.find({$text: {$search: 'similarity in comparison'}}, {score: {$meta: 'textScore'}}).sort({score: {$meta: 'textScore'}})

Dengan dokumen contoh Anda, kueri akan mengembalikan sesuatu seperti:

{
  "_id": "foobar1",
  "about": "similarity in comparison",
  "score": 1.5
}
{
  "_id": "foobar2",
  "about": "perfect similarity in comparison",
  "score": 1.3333333333333333
}
{
  "_id": "foobar3",
  "about": "partial similarity",
  "score": 0.75
}

yang diurutkan berdasarkan penurunan skor kesamaan. Harap perhatikan bahwa tidak seperti hasil contoh Anda, dokumen foobar4 tidak dikembalikan karena tidak ada kata tanya yang ada di foobar4 .

Indeks teks dianggap sebagai jenis indeks khusus di MongoDB, dan karenanya dilengkapi dengan beberapa aturan khusus tentang penggunaannya. Untuk lebih jelasnya, silakan lihat:




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengganti nama jalur sebagai tanggapan atas populasi

  2. Bagaimana cara menggunakan findAndModify dengan driver Node.js MongoDB?

  3. Node.js + temuan luwak membekukan simpul ketika lebih dari 100 hasil

  4. Bagaimana Anda menghitung jumlah dokumen dalam koleksi MongoDB di dalam Node?

  5. SQL COALESCE() Dijelaskan