MongoDB में टेक्स्ट इंडेक्स बनाना और उपयोग करना
MongoDB टेक्स्ट इंडेक्स स्ट्रिंग सामग्री पर पूर्ण-पाठ खोज का समर्थन करता है। एक संग्रह में केवल एक टेक्स्ट इंडेक्स हो सकता है, लेकिन यह कई फ़ील्ड्स को कवर कर सकता है।
नमूना डेटा
> db.demo331.insertOne({"Words": "This is a MySQL"});
{ "acknowledged": true, "insertedId": ObjectId("5e521c35f8647eb59e562089") }
> db.demo331.insertOne({"Words": "THIS is a MongoDB"});
{ "acknowledged": true, "insertedId": ObjectId("5e521c36f8647eb59e56208a") }
टेक्स्ट इंडेक्स बनाना
> db.demo331.createIndex({Words: "text"});
{ "createdCollectionAutomatically": false, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }
टेक्स्ट खोज करना
$text ऑपरेटर के साथ $search का उपयोग करें:
> db.demo331.find({$text: {$search: "MySQL"}});
परिणाम
{ "_id": ObjectId("5e521c35f8647eb59e562089"), "Words": "This is a MySQL" }
खोज केस-इनसेंसिटिव है (दूसरे डॉक्यूमेंट में "THIS" होने के बावजूद "MySQL" से मेल नहीं खाया)। आप $search: "MySQL MongoDB" का उपयोग करके एकाधिक शब्द खोज सकते हैं (OR तर्क)। सटीक वाक्यांश के लिए उद्धरण चिह्नों का उपयोग करें: $search: "\"MySQL database\""।