Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में अनइंडेक्स्ड फील्ड्स पर जटिल क्वेरी को कुशलतापूर्वक चलाना

MongoDB में टेक्स्ट इंडेक्स बनाकर अनइंडेक्स्ड फील्ड्स पर जटिल क्वेरी को तेज़ करना

MongoDB में अनइंडेक्स्ड टेक्स्ट फील्ड्स पर जटिल खोज क्वेरी को कुशल बनाने के लिए टेक्स्ट इंडेक्स बनाएं और $text ऑपरेटर का उपयोग करें।

उदाहरण: संग्रह, दस्तावेज़ और टेक्स्ट इंडेक्स बनाना

> db.demo400.insertOne({SubjectName:"Java Spring"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610720fac4d418a0178572") }
> db.demo400.insertOne({SubjectName:"Spring Hibernate"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e61072dfac4d418a0178573") }
> db.demo400.insertOne({SubjectName:"Java Hibernate"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e610736fac4d418a0178574") }
> db.demo400.createIndex({SubjectName:"text"});
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }

सभी दस्तावेज़ देखना

> db.demo400.find();

आउटपुट:

{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610736fac4d418a0178574"), "SubjectName" : "Java Hibernate" }

टेक्स्ट खोज क्वेरी ("Spring" खोजें)

> db.demo400.find({ $text: { $search: "Spring" } })

आउटपुट:

{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }

मुख्य अवधारणाएं:

  • टेक्स्ट इंडेक्स: {field: "text"} - पूर्ण टेक्स्ट खोज सक्षम करता है
  • $text ऑपरेटर: टेक्स्ट इंडेक्स का उपयोग करके खोज करता है
  • $search: खोज स्ट्रिंग (स्पेस से अलग शब्द OR लॉजिक के साथ)
  • स्कोर: परिणामों में {score: {$meta: "textScore"}} प्रोजेक्ट करके प्रासंगिकता क्रम प्राप्त करें

उन्नत खोज:

// वाक्यांश खोज
db.demo400.find({ $text: { $search: "\"Java Spring\"" } })

// शब्द बहिष्कृत करें
db.demo400.find({ $text: { $search: "Spring -Hibernate" } })

// स्कोर के साथ सॉर्ट
db.demo400.find(
  { $text: { $search: "Spring" } },
  { score: { $meta: "textScore" } }
).sort({ score: { $meta: "textScore" } })

सीमाएं: एक संग्रह पर केवल एक टेक्स्ट इंडेक्स, केस-इनसेंसिटिव, स्टॉप वर्ड्स हटाए जाते हैं।

  1. - MongoDB में मल्टीपल की के साथ कुशलतापूर्वक 'distinct' कैसे करें

    MongoDB में मल्टीपल की (फील्ड) के कॉम्बिनेशन पर डिस्टिंक्ट ऑपरेशन करने के लिए एग्रीगेशन फ्रेमवर्क में $group का उपयोग करें। उदाहरण से समझें एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं (कुछ डुप्लीकेट कॉम्बिनेशन के साथ): > db.distinctWithMultipleKeysDemo.insertOne({StudentName: Mike, StudentAge: 2

  1. MongoDB में कंसोल कैसे क्लियर करें? MongoDB में कंसोल कैसे क्लियर करें?

    MongoDB में कंसोल क्लियर करने के लिए, आप निम्न दो सिंटैक्स में से किसी का उपयोग कर सकते हैं। पहला सिंटैक्स कीबोर्ड शॉर्टकट का उपयोग है: Ctrl + L उपरोक्त कुंजी दबाने के बाद, आप MongoDB में कंसोल क्लियर कर सकते हैं। दूसरा सिंटैक्स इस प्रकार है: cls उपरोक्त सिंटैक्स को समझने के लिए, आइए उन्हें एक-एक क

  1. MongoDB शेल को mongos कमांड से कैसे चलाएं MongoDB शेल को mongos कमांड से कैसे चलाएं

    MongoDB शेल (mongo) लॉन्च करना MongoDB शेल शुरू करने के लिए कमांड लाइन से mongo कमांड चलाएं। यह MongoDB सर्वर से कनेक्ट करने का प्राथमिक इंटरैक्टिव तरीका है। MongoDB बिन डायरेक्टरी में नेविगेट करें सबसे पहले कमांड प्रॉम्प्ट/टर्मिनल से MongoDB इंस्टॉलेशन के bin डायरेक्टरी में जाएं: cd /usr/local/mo