यदि आपको 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
. में मौजूद नहीं हैं ।
टेक्स्ट इंडेक्स को मोंगोडीबी में एक विशेष प्रकार का इंडेक्स माना जाता है, और इस प्रकार इसके उपयोग पर कुछ विशिष्ट नियमों के साथ आता है। अधिक विवरण के लिए, कृपया देखें: