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

MongoDB में रेगेक्स स्ट्रिंग खोज को गति दें

एक संभावना यह होगी कि उन सभी प्रकारों को संग्रहीत किया जाए जो आप सोच रहे हैं कि एक सरणी तत्व के रूप में उपयोगी हो सकते हैं - यह सुनिश्चित नहीं है कि यह संभव हो सकता है या नहीं!

    {
        "number" : "pl",
        "surface_form" : "skrejjen",
        "surface_forms: [ "skrej", "skre" ],
        "phonetic" : "'skrɛjjɛn",
        "pattern" : "CCCVCCVC"
    }

मैं शायद यह भी सुझाव दूंगा कि प्रत्येक शब्द के साथ 1000 शब्द रूपों को संग्रहीत न करें, लेकिन इसे छोटे दस्तावेज़ों के लिए बदल दें। आपके दस्तावेज़ जितने छोटे होंगे, मोंगोडीबी को प्रत्येक खोज के लिए स्मृति में पढ़ना होगा (जब तक खोज स्थितियों को पाठ्यक्रम के पूर्ण स्कैन की आवश्यकता नहीं होती है):

{
    "word": {
        "pos" : "N",
        "lemma" : "skrun",
        "gloss" : "screw",
    },
    "form" : {
        "number" : "sg",
        "surface_form" : "skrun",
        "phonetic" : "ˈskruːn",
        "gender" : "m"
    },
    "source" : "Mayer2013"
}

{
    "word": {
        "pos" : "N",
        "lemma" : "skrun",
        "gloss" : "screw",
    },
    "form" : {
        "number" : "pl",
        "surface_form" : "skrejjen",
        "phonetic" : "'skrɛjjɛn",
        "pattern" : "CCCVCCVC"
    },
    "source" : "Mayer2013"
}

मुझे यह भी संदेह है कि MySQL यादृच्छिक शब्द रूपों की खोज के साथ यहां बेहतर प्रदर्शन करेगा क्योंकि उसे एक पूर्ण टेबल स्कैन करना होगा जैसे कि मोंगोडीबी होगा। केवल एक चीज जो वहां मदद कर सकती है वह है एक क्वेरी कैश - लेकिन यह कुछ ऐसा है जिसे आप अपने एप्लिकेशन में अपने खोज UI/API में आसानी से बना सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. टाइम बकेट एनालिटिक्स के साथ रेंज सपोर्ट

  2. वर्तमान URL स्ट्रिंग पार्सर बहिष्कृत है

  3. मोंगो डीबी:वर्तमान में प्रारंभ और समाप्ति तिथि के आधार पर लाइव दस्तावेज़ों की क्वेरी

  4. MongoDB 10Gen के ड्राइवर पर MongoDB शेल कमांड का उपयोग करना

  5. Mongodb . के लिए गोलांग एमजीओ में एकत्रीकरण