MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो:दस्तावेजों के एक सेट में शब्द घटनाओं की संख्या की गणना करें

MapReduce एक अच्छा फिट हो सकता है जो क्लाइंट पर हेरफेर किए बिना सर्वर पर दस्तावेज़ों को संसाधित कर सकता है (क्योंकि डीबी सर्वर (ओपन इश्यू) पर एक स्ट्रिंग को विभाजित करने की सुविधा नहीं है।

map से प्रारंभ करें समारोह। नीचे दिए गए उदाहरण में (जिसे और अधिक मजबूत होने की आवश्यकता है), प्रत्येक दस्तावेज़ को map . पर भेज दिया गया है फ़ंक्शन (this के रूप में) ) कोड summary के लिए दिखता है फ़ील्ड है और यदि यह वहाँ है, तो इसे छोटा करें, एक स्थान पर विभाजित करें, और फिर एक 1 उत्सर्जित करें पाए गए प्रत्येक शब्द के लिए।

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
            }
        }
    }
};

फिर, reduce . में फ़ंक्शन, यह map . द्वारा पाए गए सभी परिणामों का योग करता है फ़ंक्शन और प्रत्येक शब्द के लिए एक असतत कुल देता है जो emit . था ऊपर टेड।

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

अंत में, mapReduce निष्पादित करें:

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

आपके नमूना डेटा के साथ परिणाम:

> 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. वर्ग 'मोंगो क्लाइंट' नहीं मिला

  2. MongoDB में दस्तावेज़ों को क्रमबद्ध करने के 3 तरीके

  3. mongoimport का उपयोग करके 1 से अधिक json फ़ाइल आयात करें

  4. मैं मोंगोज़ के साथ ऑब्जेक्ट आईडी कैसे उत्पन्न कर सकता हूं?

  5. मोंगोडीबी $सेटडिफरेंस