2012-04-04 26 views
6

मुझे पता है कि आरईएसटी एपीआई के माध्यम से, किसी दिए गए दृश्य से लौटाए गए परिणामों की संख्या सीमित करने के लिए कोई 'सीमा' पैरामीटर (उदाहरण के लिए सीमा = 5) निर्दिष्ट कर सकता है कॉच डीबी मेंCouchDB में 'सीमा' पैरामीटर का उपयोग करके मानचित्र फ़ंक्शन

मेरा सवाल यह है कि मानचित्र के अंदर स्वयं को देखने के अंदर ऐसा करने का कोई तरीका है या नहीं ...?

+3

क्या आप अधिक जानकारी प्रदान कर सकते हैं? आप क्या करना चाहते हैं? –

उत्तर

5

आपके विशिष्ट प्रश्न का उत्तर "नहीं" है।

मानचित्र फ़ंक्शन डेटाबेस में प्रत्येक दस्तावेज़ पर लागू होता है और यदि परिभाषित किया गया है तो कम कार्य, प्रत्येक कम परिणाम पर लागू होता है। पूर्व कंप्यूटिंग सोचो।

यूआरएल में आपके द्वारा प्रदान किए गए क्वेरी पैरामीटर बी + ट्री पर लागू होते हैं जो आपके MapReduce फ़ंक्शन का निर्माण करते हैं। उदाहरण के लिए, यदि आप ?limit=5 कहते हैं तो पेड़ में पांच बाईं ओर अधिकांश पत्ते परिणाम के रूप में उपयोग किए जाते हैं। या यदि आप ?limit=5&descending=true कहते हैं तो पेड़ में पांच दाएं सबसे अधिक पत्ते परिणाम के रूप में उपयोग किए जाते हैं।

हालांकि, आप मानचित्र फ़ंक्शन में ?limit=5 करके पूरा करने की कोशिश कर रहे हैं, एक अलग तरीके से पूरा किया जा सकता है। उदाहरण के लिए, आपके एप्लिकेशन में उन दस्तावेजों में कुछ शामिल हो सकता है जो उन्हें परिणामों में सशर्त रूप से शामिल कर देते हैं। या लागू करें कि सूचकांक में केवल पांच दस्तावेज ध्वजांकित किए गए हैं, हालांकि यह बोझिल होगा और आपके डेटाबेस के आकार के आधार पर महंगा होगा।

चीयर्स।

0

यदि आप यूयूआईडी अनुक्रमिक हैं (आप इसके लिए अपनी कॉन्फ़िगरेशन जांच सकते हैं) तो आप पहले पांच दस्तावेज़ों को देखने के लिए स्वयं और अपने आप को लाभ उठाने में सक्षम हो सकते हैं।

0

map फ़ंक्शन के लिए यह संभव नहीं है। क्योंकि नक्शा प्रत्येक दस्तावेज़ को अलग से और किसी भी अलग नोड पर एक साथ अलग करेगा। यह अन्य

पर अन्य दस्तावेज़ के बारे में अवगत नहीं हो सकता है, लेकिन मुझे लगता है कि आप reduce के साथ क्या चाहते हैं। मैप फ़ंक्शन सब कुछ करने के बाद कम हो जाएगा और सभी परिणाम मौजूद होंगे। तो अगर आप किसी भी फैशन

सीधे शब्दों में कहें में map से परिणाम संशोधित कर सकता है, आप एक ही कुंजी के साथ समूह पंक्तियों को reduce इस्तेमाल कर सकते हैं, तो आप प्रत्येक समूह ट्रिम सकता है केवल 5 परिणाम के लिए (rereduce में अगर मैं इसे सही ढंग से याद है)

संबंधित मुद्दे