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

नेवला में वजन के साथ पूर्ण पाठ खोज

हाँ, आप नेवला>=3.8.9 में पूर्ण पाठ खोज का उपयोग कर सकते हैं। सबसे पहले, एक संग्रह में अधिकतम एक टेक्स्ट इंडेक्स हो सकता है (दस्तावेज़ देखें)। इसलिए, कई क्षेत्रों के लिए टेक्स्ट इंडेक्स को परिभाषित करने के लिए, आपको कंपाउंड इंडेक्स की आवश्यकता है:

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

अब आप $text . का उपयोग कर सकते हैं क्वेरी ऑपरेटर इस तरह:

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

यह प्रासंगिकता स्कोर के आधार पर परिणामों को भी क्रमबद्ध करेगा।

वज़न के लिए, आप वज़न विकल्प ऑब्जेक्ट को index() . पर पास करने का प्रयास कर सकते हैं विधि (जहाँ आप कंपाउंड इंडेक्स को परिभाषित करते हैं) (कम से कम नेवले के v4.0.1 के साथ काम करना):

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. किसी सरणी में किसी आइटम को अपडेट करें जो किसी सरणी में है

  2. SQL में अल्पविराम से अलग की गई सूची में एकाधिक पंक्तियाँ कैसे प्राप्त करें

  3. दस्तावेज़ों के लिए क्वेरी जहां सरणी का आकार 1 . से बड़ा है

  4. Node.js और Mongoose का उपयोग करके छवियों को संग्रहीत करने के लिए GridFS का उपयोग कैसे करें

  5. स्रोत नियंत्रण के लिए बाइनरी के बजाय टेक्स्ट के रूप में MongoDB बैकअप