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

MongoDB में टेक्स्ट खोज के लिए टेक्स्ट इंडेक्स कैसे बनाएं?

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\""।

  1. - MongoDB $regex ऑपरेटर: केस इनसेंसिटिव खोज के लिए i या I

    इसके लिए आपको केस इनसेंसिटिव (i) का उपयोग करना होगा। आइए एक कलेक्शन बनाते हैं: > db.demo759.insertOne({SubjectName:MySQL}); { acknowledged : true, insertedId : ObjectId(5eb02ba95637cd592b2a4ae7) } > db.demo759.insertOne({SubjectName:MongoDB}); { acknowledged : true, insertedId : ObjectId(5eb0

  1. - MySQL में डिलीमिटर्स के बीच टेक्स्ट कैसे खोजें?

    LOCATE() और SUBSTR() का उपयोग करके डिलीमिटर्स के बीच टेक्स्ट निकालना डिलीमिटर्स (जैसे कोलन `:`) के बीच का टेक्स्ट निकालने के लिए LOCATE() और SUBSTR() फ़ंक्शन्स का उपयोग करें: SELECT SUBSTR(yourColumnName, LOCATE(:, yourColumnName) + 1, (CHAR_LENGTH(yourColumnName) - LOCATE(:, REVERSE(yourCo

  1. - Java का उपयोग करके MongoDB में इंडेक्स कैसे बनाएं?

    MongoDB में इंडेक्स बनाने के लिए, आपको createIndex() मेथड का उपयोग करना होगा। सिंटैक्स db.COLLECTION_NAME.createIndex({KEY:1}) जहां key उस फ़ाइल का नाम है जिस पर आप इंडेक्स बनाना चाहते हैं और 1 आरोही क्रम के लिए है। अवरोही क्रम में इंडेक्स बनाने के लिए आपको -1 का उपयोग करना होगा। Java में, आप creat