यह एक महत्वपूर्ण खोज उपयोग मामला है, और MongoDB और Redis कुंजी-आधारित लुकअप के लिए एकदम सही हैं और खोज उद्देश्यों के लिए उपयोग नहीं करते हैं, जबकि Elasticsearch एक वितरित खोज इंजन है, जिसे विशेष रूप से ऐसे उपयोग-मामले के लिए बनाया गया है।
सिस्टम चुनने से पहले, आपको पता होना चाहिए कि आपकी सुविधा आंतरिक रूप से कैसे काम करती है और इसे चुनने के विचार के नीचे।
आपकी सुविधा के लिए गैर-कार्यात्मक आवश्यकताएं
- प्रति सेकंड (क्यूपीएस) खोज क्वेरी की कुल संख्या क्या होगी?
- आप कितनी बार दस्तावेज़ों को अपडेट करते रहेंगे (अर्थात, आपके उदाहरण में नाम)।
- अपडेट किए गए और खोज परिणाम में आने वाले नामों के बाद SLA क्या है?
- आपके खोज परिणामों के लिए SLA.
कुछ कार्यात्मक आवश्यकताएं।
- नामों पर स्वतः पूर्ण कैसे दिखना चाहिए, उपसर्ग, इन्फिक्स खोज?
- स्वत:पूर्ण परिणाम दिखाने से पहले उपयोगकर्ता को कम से कम कितने वर्ण टाइप करने चाहिए।
- उपरोक्त आवश्यकताएं कितनी बार बदल सकती हैं।
इलास्टिक्स खोज ने उल्टे सूचकांक में दस्तावेजों को अनुक्रमित किया और ओटोकेन्स मैच का काम करता है (जिसे व्यवसाय की आवश्यकताओं के अनुरूप आसानी से अनुकूलित किया जा सकता है), इसलिए खोज में सुपर फास्ट। Redis और MongoDB में आंतरिक रूप से यह संरचना नहीं है और इसका उपयोग इस मामले के लिए नहीं किया जाना चाहिए। स्वत:पूर्ण को लागू करने के लिए आपको इलास्टिक्स खोज को चुनने के बारे में कोई संदेह नहीं होना चाहिए।