पाठ खोज MongoDB में सुविधा (2.6 पर) में अस्पष्ट/आंशिक स्ट्रिंग मिलान के लिए कोई अंतर्निहित सुविधाएं नहीं हैं। जैसा कि आपने नोट किया है, उपयोग का मामला वर्तमान में बुनियादी बूलियन ऑपरेटरों और शब्द/वाक्यांश मिलान के साथ भाषा और स्टेमिंग समर्थन पर केंद्रित है।
आपकी आवश्यकताओं के आधार पर फ़ज़ी मिलान के लिए विचार करने के लिए कई संभावित दृष्टिकोण हैं और आप "कुशल" (गति, भंडारण, डेवलपर समय, आवश्यक बुनियादी ढांचे, आदि) को कैसे अर्हता प्राप्त करना चाहते हैं:
-
कुछ आसानी से उपलब्ध साउंडलाइक और समानता एल्गोरिदम का उपयोग करके अपने एप्लिकेशन लॉजिक में फ़ज़ी/आंशिक मिलान के लिए समर्थन लागू करें। इस दृष्टिकोण के लाभों में कोई अतिरिक्त बुनियादी ढांचा नहीं जोड़ना और अपनी आवश्यकताओं के अनुरूप मिलान करने में सक्षम होना शामिल है।
कुछ और विस्तृत उदाहरणों के लिए, देखें:MongoDB में फ़ज़ी और आंशिक मिलान के लिए तकनीक ।
-
एक बाहरी खोज उपकरण के साथ एकीकृत करें जो अधिक उन्नत खोज सुविधाएँ प्रदान करता है। यह आपके परिनियोजन में कुछ जटिलता जोड़ता है और केवल टाइपहेड के लिए अधिक होने की संभावना है, लेकिन आपको अन्य खोज सुविधाएं मिल सकती हैं जिन्हें आप अपने आवेदन में कहीं और शामिल करना चाहते हैं (उदाहरण के लिए "इस तरह", शब्द निकटता, पहलू खोज, ..)।पी>
उदाहरण के लिए देखें:परफॉर्म कैसे करें मोंगो कनेक्टर और इलास्टिक सर्च के साथ फ़ज़ी-मैचिंग . नोट:ElasticSearch की फजी क्वेरी ए> लेवेनशेटिन दूरी पर आधारित है।
-
Twitter के ओपन सोर्स
typeahead.js
जैसी स्वत:पूर्ण लाइब्रेरी का उपयोग करें , जिसमें एक सुझाव इंजन और क्वेरी/कैशिंग API शामिल है। टाइपहेड वास्तव में किसी भी अन्य बैकएंड दृष्टिकोण का पूरक है, और इसका (वैकल्पिक) सुझाव इंजन ब्लडहाउंड स्थानीय संग्रहण में प्रीफ़ेचिंग के साथ-साथ कैशिंग डेटा का समर्थन करता है।