एक संभावना यह होगी कि उन सभी प्रकारों को संग्रहीत किया जाए जो आप सोच रहे हैं कि एक सरणी तत्व के रूप में उपयोगी हो सकते हैं - यह सुनिश्चित नहीं है कि यह संभव हो सकता है या नहीं!
{
"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 में आसानी से बना सकते हैं।