उपरोक्त दोनों उत्तर महान हैं!
मैं एक सूचकांक में कई प्रकारों का उदाहरण जोड़ रहा हूं। मान लीजिए कि आप किसी लाइब्रेरी में पुस्तकों की खोज के लिए एक ऐप विकसित कर रहे हैं। लाइब्रेरी के मालिक से पूछने के लिए कुछ प्रश्न हैं,
प्रशन:
आप कितनी किताबें स्टोर करने की योजना बना रहे हैं?
लाइब्रेरी में आप किस तरह की किताबें स्टोर करने जा रहे हैं?
आप पुस्तकों की खोज कैसे कर रहे हैं?
उत्तर:
मैं 50 k - 70 k पुस्तकें (लगभग) स्टोर करने की योजना बना रहा हूँ
मेरे पास 15 k -20 k टेक्नोलॉजी से संबंधित किताबें (कंप्यूटर साइंस, मैकेनिकल इंजीनियरिंग, केमिकल इंजीनियरिंग और इसी तरह), 15 k ऐतिहासिक किताबें, 10 k मेडिकल साइंस की किताबें होंगी। भाषा से संबंधित पुस्तकों के 10 k (अंग्रेजी, स्पेनिश और इतने पर)
लेखकों द्वारा खोजें पहला नाम, लेखक अंतिम नाम, प्रकाशन का वर्ष, प्रकाशक का नाम। (यह आपको यह विचार देता है कि आपको सूचकांक में कौन सी जानकारी संग्रहीत करनी चाहिए)
उपरोक्त उत्तरों से हम कह सकते हैं कि हमारे सूचकांक में स्कीमा कुछ इस तरह दिखना चाहिए।
// यह सटीक मैपिंग नहीं है, सिर्फ उदाहरण के लिए
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
उपरोक्त प्राप्त करने के लिए हम पुस्तकें नामक एक सूचकांक बना सकते हैं और इसके विभिन्न प्रकार हो सकते हैं।
सूचकांक: पुस्तक
प्रकार: विज्ञान, कला
(या आप कई प्रकार की तकनीक बना सकते हैं जैसे कि प्रौद्योगिकी, चिकित्सा विज्ञान, इतिहास, भाषा, यदि आपके पास बहुत अधिक पुस्तकें हैं)
यहां ध्यान देने वाली महत्वपूर्ण बात यह है कि स्कीमा समान है लेकिन डेटा समान नहीं है। और दूसरी महत्वपूर्ण चीज कुल डेटा है जिसे आप स्टोर कर रहे हैं।
उम्मीद है कि उपरोक्त सूचकांक में विभिन्न प्रकारों के लिए जाने में मदद करता है, यदि आपके पास अलग-अलग स्कीमा हैं तो आपको अलग-अलग सूचकांक पर विचार करना चाहिए। कम डेटा के लिए छोटा सूचकांक। बड़े डेटा के लिए बड़ा सूचकांक :-)