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

दस्तावेज़ फ़ील्ड MongoDB में समानता कैसे प्राप्त करें?

यदि आपको about . पर पाठ समानता की गणना करने की आवश्यकता है फ़ील्ड, इसे प्राप्त करने का एक तरीका पाठ अनुक्रमणिका का उपयोग करना है ।

उदाहरण के लिए (mongo . में) शेल), यदि आप about . पर एक टेक्स्ट इंडेक्स बनाते हैं फ़ील्ड:

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

आप एक क्वेरी निष्पादित कर सकते हैं जैसे (उदाहरण 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'}})

आपके उदाहरण दस्तावेज़ों के साथ, क्वेरी कुछ इस तरह वापस आनी चाहिए:

{
  "_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
}

जो समानता स्कोर को घटाकर क्रमबद्ध किया जाता है। कृपया ध्यान दें कि आपके उदाहरण के परिणाम के विपरीत, दस्तावेज़ foobar4 वापस नहीं किया जाता है क्योंकि कोई भी पूछे गए शब्द foobar4 . में मौजूद नहीं हैं ।

टेक्स्ट इंडेक्स को मोंगोडीबी में एक विशेष प्रकार का इंडेक्स माना जाता है, और इस प्रकार इसके उपयोग पर कुछ विशिष्ट नियमों के साथ आता है। अधिक विवरण के लिए, कृपया देखें:




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongod त्रुटि:98 फ़ाइल लॉक करने में असमर्थ:/data/db/mongod.lock संसाधन अस्थायी रूप से अनुपलब्ध है। क्या एक मोंगोड उदाहरण पहले से चल रहा है?

  2. स्थिति प्रतिशत के अनुसार समूह और योग MongoDb एकत्रीकरण

  3. अपने आप में एक संग्रह की नकल करें

  4. MongoDB एकत्रीकरण - प्रोजेक्ट फ़ील्ड मान फ़ील्ड के रूप में

  5. Mongodb बहुत लंबे _id . के साथ वस्तु नहीं ढूंढ सकता