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

Mongo:menghitung jumlah kemunculan kata dalam satu set dokumen

MapReduce mungkin cocok yang dapat memproses dokumen di server tanpa melakukan manipulasi pada klien (karena tidak ada fitur untuk membagi string di server DB (masalah terbuka).

Mulailah dengan map fungsi. Pada contoh di bawah ini (yang mungkin perlu lebih kuat), setiap dokumen diteruskan ke map fungsi (sebagai this ). Kode mencari summary bidang dan jika ada, huruf kecil, pisahkan pada spasi, dan kemudian memancarkan 1 untuk setiap kata yang ditemukan.

var map = function() {  
    var summary = this.summary;
    if (summary) { 
        // quick lowercase to normalize per your requirements
        summary = summary.toLowerCase().split(" "); 
        for (var i = summary.length - 1; i >= 0; i--) {
            // might want to remove punctuation, etc. here
            if (summary[i])  {      // make sure there's something
               emit(summary[i], 1); // store a 1 for each word
            }
        }
    }
};

Kemudian, di reduce fungsi, itu menjumlahkan semua hasil yang ditemukan oleh map fungsi dan mengembalikan total diskrit untuk setiap kata yang emit tercantum di atas.

var reduce = function( key, values ) {    
    var count = 0;    
    values.forEach(function(v) {            
        count +=v;    
    });
    return count;
}

Terakhir, jalankan mapReduce:

> db.so.mapReduce(map, reduce, {out: "word_count"})

Hasil dengan data sampel Anda:

> db.word_count.find().sort({value:-1})
{ "_id" : "is", "value" : 3 }
{ "_id" : "bad", "value" : 2 }
{ "_id" : "good", "value" : 2 }
{ "_id" : "this", "value" : 2 }
{ "_id" : "neither", "value" : 1 }
{ "_id" : "or", "value" : 1 }
{ "_id" : "something", "value" : 1 }
{ "_id" : "that", "value" : 1 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# Driver 2.0 - Perbarui dokumen

  2. 3 Cara Mendapatkan Minggu dari Kencan di MongoDB

  3. Sudo service mongodb restart memberikan kesalahan layanan yang tidak dikenal di ubuntu 14.0.4

  4. Impor File CSV ke MongoDB dengan mongoimport

  5. Tidak dapat memulai MongoDB sebagai layanan