Indexing & Search

पूर्ण पाठ खोज और इंडेक्सिंग

इंडेक्स बनाना

एकीकरण परिचय अनुभाग से लोड किए गए हमारे नमूना डेटा से "sample_mflix" डेटाबेस में एक इंडेक्स बनाने के लिए हम Atlas डैशबोर्ड का उपयोग करेंगे।

Atlas डैशबोर्ड में, अपने क्लस्टर नाम पर क्लिक करें और फिर Search टैब पर क्लिक करें।
Create Search Index बटन पर क्लिक करें।
Visual Editor का उपयोग करें और Next पर क्लिक करें।
अपने इंडेक्स को नाम दें, वह डेटाबेस और संग्रह चुनें जिसे आप इंडेक्स करना चाहते हैं और Next पर क्लिक करें।
sample_mflix डेटाबेस और movies संग्रह चुनें।
Create Search Index पर क्लिक करें और इंडेक्स पूरा होने तक प्रतीक्षा करें।

💡 नोट:

यदि आप अपने इंडेक्स को "default" नाम देते हैं, तो आपको $search पाइपलाइन चरण में इंडेक्स नाम निर्दिष्ट करने की आवश्यकता नहीं है।

क्वेरी चलाना

हमारे खोज इंडेक्स का उपयोग करने के लिए, हम अपनी एकीकरण पाइपलाइन में $search ऑपरेटर का उपयोग करेंगे।

उदाहरण

db.movies.aggregate([
  {
    $search: {
      index: "default", // optional unless you named your index something other than "default"
      text: {
        query: "star wars",
        path: "title"
      },
    },
  },
  {
    $project: {
      title: 1,
      year: 1,
    }
  }
])

यह एकीकरण पाइपलाइन का पहला चरण title फ़ील्ड में "star" या "wars" शब्द वाले movies संग्रह में सभी दस्तावेजों को वापस प्राप्त करेगा।

दूसरा चरण प्रत्येक दस्तावेज़ से title और year फ़ील्ड को प्रोजेक्ट करता है।

🔍 स्पष्टीकरण:

Atlas Search शक्तिशाली पूर्ण पाठ खोज क्षमताएं प्रदान करता है। यह Apache Lucene पर बनाया गया है और relevancy scoring, fuzzy matching, synonyms और अधिक का समर्थन करता है। $search चरण एकीकरण पाइपलाइनों में कहीं भी रखा जा सकता है और अन्य एकीकरण चरणों के साथ जोड़ा जा सकता है।

अभ्यास

MongoDB Atlas Search किस पर बनाया गया है?

Elasticsearch
✗ गलत! Atlas Search Elasticsearch नहीं है
Solr
✗ गलत! Atlas Search Solr नहीं है
Apache Lucene
✓ सही! MongoDB Atlas Search Apache Lucene द्वारा संचालित है
MySQL Full-Text Search
✗ गलत! Atlas Search का MySQL से कोई संबंध नहीं है