MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB - टेक्स्ट फ़ील्ड और टेक्स्ट इंडेक्स पर इंडेक्स के बीच अंतर?

दो सूचकांक विकल्प बहुत अलग हैं।

  • जब आप एक स्ट्रिंग फ़ील्ड पर एक नियमित अनुक्रमणिका बनाते हैं तो यह स्ट्रिंग में संपूर्ण मान को अनुक्रमित करता है। सिंगल वर्ड स्ट्रिंग्स के लिए अधिकतर उपयोगी (जैसे लॉगिन के लिए उपयोगकर्ता नाम) जहां आप बिल्कुल मेल खा सकते हैं।

  • दूसरी ओर एक टेक्स्ट इंडेक्स फ़ील्ड की सामग्री को टोकन और स्टेम करेगा। तो यह स्ट्रिंग को अलग-अलग शब्दों या टोकन में तोड़ देगा, और उन्हें आगे उनके तनों तक कम कर देगा ताकि एक ही शब्द के वेरिएंट मेल खा सकें ("बात" मिलान "वार्ता", "बात" और "बात करना" उदाहरण के लिए, "बात" के रूप में तीनों का एक तना है)। सच्चे पाठ (वाक्य, पैराग्राफ, आदि) के लिए अधिकतर उपयोगी।

    <ब्लॉकक्वॉट>

    पाठ खोज

    पाठ खोज संग्रह के दस्तावेज़ों में स्ट्रिंग सामग्री की खोज का समर्थन करती है। MongoDB $text . प्रदान करता है प्रश्नों और एकत्रीकरण पाइपलाइनों में पाठ खोज करने के लिए ऑपरेटर।

    पाठ खोज प्रक्रिया:

    tokenizes and stems the search term(s) during both the index creation and the text command execution.
    assigns a score to each document that contains the search term in the indexed fields. The score determines the relevance of a document to a given search query.
    

    $text ऑपरेटर शब्दों और वाक्यांशों की खोज कर सकता है। क्वेरी पूर्ण स्टेम वाले शब्दों से मेल खाती है। उदाहरण के लिए, यदि किसी दस्तावेज़ फ़ील्ड में ब्लूबेरी शब्द है, तो नीले शब्द की खोज दस्तावेज़ से मेल नहीं खाएगी। हालांकि, ब्लूबेरी या ब्लूबेरी में से किसी एक पर खोज का मिलान होगा।

  • $regex स्ट्रिंग फ़ील्ड पर नियमित अनुक्रमणिका के साथ खोजों का उपयोग किया जा सकता है, कुछ पैटर्न मिलान और वाइल्डकार्ड खोज प्रदान करें। अनुक्रमणिका का बहुत प्रभावी उपयोगकर्ता नहीं है, लेकिन यह अनुक्रमणिका का उपयोग करेगा जहां यह कर सकता है:

    <ब्लॉकक्वॉट>

    यदि फ़ील्ड के लिए कोई अनुक्रमणिका मौजूद है, तो MongoDB अनुक्रमणिका में मानों के विरुद्ध नियमित अभिव्यक्ति से मेल खाता है, जो एक संग्रह स्कैन से तेज़ हो सकता है। आगे अनुकूलन तब हो सकता है जब नियमित अभिव्यक्ति एक "उपसर्ग अभिव्यक्ति" है, जिसका अर्थ है कि सभी संभावित मिलान एक ही स्ट्रिंग से शुरू होते हैं। यह MongoDB को उस उपसर्ग से एक "श्रेणी" बनाने की अनुमति देता है और केवल उस सीमा के भीतर आने वाले सूचकांक के उन मानों से मेल खाता है।

http://docs.mongodb.org/manual/core/index-text/

http://docs.mongodb.org/manual/reference/operator/query/regex/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी $substrCP

  2. MongoDB इंडेक्स चौराहे का उपयोग क्यों नहीं करता है?

  3. सी # के साथ मोंगोडीबी में केवल एक निर्दिष्ट फ़ील्ड प्राप्त करें

  4. सेव () और अपडेट () का उपयोग करने के बीच नेवला अंतर

  5. MongoDB $पुल सरणी 2 स्तर