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

Pencarian teks lengkap dengan bobot luwak

Ya, Anda dapat menggunakan pencarian teks lengkap di Mongoose>=3.8.9. Pertama, koleksi dapat memiliki paling banyak satu indeks teks (lihat dokumen). Jadi, untuk menentukan indeks teks untuk beberapa bidang, Anda memerlukan indeks gabungan:

schema.index({ animal: 'text', color: 'text', pattern: 'text', size: 'text' });

Sekarang Anda dapat menggunakan $text operator kueri seperti ini:

Model
    .find(
        { $text : { $search : "text to look for" } }, 
        { score : { $meta: "textScore" } }
    )
    .sort({ score : { $meta : 'textScore' } })
    .exec(function(err, results) {
        // callback
    });

Ini juga akan mengurutkan hasil berdasarkan skor relevansi.

Untuk bobot, Anda dapat mencoba meneruskan objek opsi bobot ke index() metode (di mana Anda menentukan indeks gabungan) (bekerja setidaknya dengan v4.0.1 dari luwak):

schema.index({ animal: 'text', color: 'text', pattern: 'text', size: 'text' }, {name: 'My text index', weights: {animal: 10, color: 4, pattern: 2, size: 1}});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:keluaran 'id' bukan '_id'

  2. Kueri dokumen dan semua subdokumennya yang cocok dengan kondisi di mongodb (menggunakan pegas)

  3. Bagaimana melakukan Pencarian Teks Lengkap di MongoDB

  4. Cara Mengatur Replikasi Master-Slave MySQL di Ubuntu 18.04

  5. Bagaimana Memulai Dengan Otomatisasi Basis Data