2010-02-23 8 views
5

मैं इसके बारे में फ्रीबेस के डॉक्स में कुछ भी नहीं मिल सकता है बढ़ाने के लिए लेकिन ऐसा लगता है कि वे उदाहरण के लिए 100 के परिणाम की संख्या को सीमित:कैसे फ्रीबेस एपीआई परिणाम की सीमा

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null 
}] 

रिटर्न केवल 100 परिणाम जबकि

[{ 
    "type":"/base/popstra/celebrity", 
    return:"count" 
}] 

कहते हैं कि 6244 परिणाम हैं। क्या कोई जानता है कि बाकी को कैसे प्राप्त किया जाए? मुझे पता है कि मैं देश जैसे कुछ पैरामीटर द्वारा प्रश्नों को सीमित कर सकता हूं और फिर परिणामों को जोड़ सकता हूं लेकिन मैं कुछ कम हैकी पसंद करूंगा।

उत्तर

8

आप अधिक परिणामों का अनुरोध करने के लिए limit संपत्ति का उपयोग कर सकते हैं। हालांकि, बड़ी संख्या में लाने से आपको एक प्रश्न टाइमआउट मिल सकता है।

cursor संपत्ति का उपयोग करने का एक और विश्वसनीय तरीका है। cursortrue के मान में पास करें। आपको परिणामों का एक बैच मिलेगा, लेकिन आपको प्रतिक्रिया में cursor के लिए एक नया मान भी मिलेगा। अपनी क्वेरी दोहराएं, लेकिन परिणामों के अगले बैच को प्राप्त करने के लिए नए cursor मान में विकल्प दें। इस तरह आप डेटा का एक बहुत बड़ा सेट भी ला सकते हैं।

और जानकारी: http://www.freebase.com/docs/mql/ch04.html#envelopeparameters

+0

उनके उदाहरण का उपयोग करके मुझे निम्नलिखित संदेश प्राप्त हुआ "कुंजी कर्सर एक आरक्षित शब्द है", अब और काम नहीं कर रहा है। – Domenic

+0

यह अभी भी काम करता है। कर्सर लिफ़ाफ़ा पर जाता है, न कि स्वयं क्वेरी में (दस्तावेज़ को दिए गए लिंक का पालन करें)। –

+0

आह! धन्यवाद पीटर, मैं सोच रहा था कि प्रतिक्रिया में कर्सर मूल्य कैसे प्राप्त करें! –

0

एक सहकर्मी ने मुझे इसे समझने में मदद की। मैंने सोचा कि मुझे limit पैरामीटर का उपयोग करना चाहिए, लेकिन मैंने इसे सही जगह पर नहीं रखा। यहां बताया गया है कि यह कैसे किया जाता है:

[{ 
    "type":"/base/popstra/celebrity", 
    "name":null, 
    "limit":300 
}] 
+0

आप वास्तव में अपने ओपी को अपडेट करने या उस पर टिप्पणी, बजाय एक जवाब उपलब्ध कराने का चाहिए! –

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