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

MongoDB पूर्ण पाठ खोज + आंशिक शब्द मिलान के लिए समाधान

लैंग्वेज स्टेमिंग पाठ खोज में एक सामान्य आधार से प्राप्त शब्दों को जोड़ने का प्रयास करने के लिए एक एल्गोरिदम का उपयोग करता है (उदाहरण के लिए "रनिंग" "रन" से मेल खाना चाहिए)। यह उपसर्ग मिलान (उदा. "ब्लू" मिलान "ब्लूबेरी") से भिन्न है जिसे आप स्वतः पूर्ण सुविधा के लिए लागू करना चाहते हैं।

सबसे प्रभावी ढंग से typeahead.js का उपयोग करने के लिए MongoDB पाठ खोज के साथ मैं prefetch . पर ध्यान केंद्रित करने का सुझाव दूंगा टाइपहेड में समर्थन:

  • एक keywords बनाएं संग्रह जिसमें आपके संग्रह में उपयोग किए जाने वाले सामान्य शब्द (शायद उपयोग आवृत्ति गणना के साथ) हैं। आप इस संग्रह को मैप चलाने/कम करने के द्वारा बना सकते हैं पूरे संग्रह में आपके पास टेक्स्ट सर्च इंडेक्स है, और शब्द सूची को समय-समय पर वृद्धिशील मानचित्र/घटाएं जैसे ही नए दस्तावेज़ जोड़े जाते हैं।

  • क्या आपका एप्लिकेशन keywords . से JSON दस्तावेज़ जेनरेट करता है? अद्वितीय खोजशब्दों के साथ संग्रह (शायद सूची को प्रबंधनीय/प्रासंगिक रखने के लिए शब्द आवृत्ति के आधार पर "लोकप्रिय" खोजशब्दों तक सीमित)।

फिर आप टाइपहेड के prefetch के साथ क्लाइंट-साइड स्वतः पूर्ण के लिए जेनरेट किए गए कीवर्ड JSON का उपयोग कर सकते हैं फ़ीचर:

$('.mysearch .typeahead').typeahead({
  name: 'mysearch',
  prefetch: '/data/keywords.json'
});

typeahead.js prefetch को कैश कर देगा क्लाइंट-साइड खोजों के लिए स्थानीय स्टोरेज में JSON डेटा। जब खोज फ़ॉर्म सबमिट किया जाता है, तो आपका आवेदन सर्वर-साइड MongoDB का उपयोग कर सकता है पाठ खोज प्रासंगिकता क्रम में पूर्ण परिणाम वापस करने के लिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js . के माध्यम से MongoDB में एक छवि सम्मिलित करना

  2. MongoDB पर केवल लोकलहोस्ट को कैसे सुनें?

  3. मोंगोडीबी $पुलऑल

  4. ऑब्जेक्ट आईडी संदर्भों के लिए नेवला में यूयूआईडी का उपयोग करना

  5. MongoDB 3.0 विंडोज सर्विस स्टार्ट:सिस्टम एरर 2 हुआ है