किसी क्वेरी को, पार्टिशन कर्सर लौटाकर उसे पार्टीशन करता है. हालांकि, उसका इस्तेमाल क्वेरी को साथ-साथ चलाने के लिए किया जा सकता है. लौटाए गए पार्टिशन कर्सर, स्प्लिट पॉइंट होते हैं. इनका इस्तेमाल document.runQuery के साथ क्वेरी के नतीजों के शुरुआती/आखिरी पॉइंट के तौर पर किया जा सकता है.
एचटीटीपी अनुरोध
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.
पाथ पैरामीटर
पैरामीटर | |
---|---|
parent |
ज़रूरी है. पैरंट संसाधन का नाम. फ़ॉर्मैट: |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
फ़ील्ड | |
---|---|
partitionCount |
विभाजन पॉइंट की ज़्यादा से ज़्यादा संख्या. ये सेगमेंट, खोज के नतीजों के कई पेजों पर दिखाए जा सकते हैं. संख्या पॉज़िटिव होनी चाहिए. लौटाए गए सेगमेंट की असल संख्या कम हो सकती है. उदाहरण के लिए, इसे चलाए जाने के लिए पैरलल क्वेरी की संख्या से कम पर सेट किया जा सकता है या डेटा पाइपलाइन के काम को चलाने के दौरान, कर्मियों की संख्या या उपलब्ध कंप्यूट इंस्टेंस से कम क्वेरी को सेट किया जा सकता है. |
pageToken |
उदाहरण के लिए, pageToken का इस्तेमाल करके बाद में आने वाले दो कॉल दिख सकते हैं:
Docs.partitionQuery को दी गई क्वेरी के नतीजों के क्रम में, पूरे नतीजे का क्रम पाने के लिए, नतीजों के सेट मर्ज किए जाने चाहिए: कर्सर A, कर्सर B, कर्सर M, कर्सर Q, कर्सर U, कर्सर W |
pageSize |
इस कॉल में दिए जाने वाले सेगमेंट की ज़्यादा से ज़्यादा संख्या, जो उदाहरण के लिए, अगर |
यूनियन फ़ील्ड query_type . सेगमेंट करने के लिए क्वेरी. query_type इनमें से सिर्फ़ एक हो सकता है: |
|
structuredQuery |
स्ट्रक्चर्ड क्वेरी. क्वेरी में सभी डिसेंडेंट के साथ कलेक्शन तय होना चाहिए और नाम को बढ़ते क्रम में लगाया जाना चाहिए. अन्य फ़िल्टर, इसके हिसाब से ऑर्डर करें, सीमाएं, ऑफ़सेट, और स्टार्ट/एंड कर्सर काम नहीं करते. |
यूनियन फ़ील्ड consistency_selector . इस अनुरोध के लिए कंसिस्टेंसी मोड. इस नीति को सेट न करने पर, डिफ़ॉल्ट रूप से एक जैसा अनुभव मिलता है. consistency_selector इनमें से सिर्फ़ एक हो सकता है: |
|
readTime |
दस्तावेज़ों को ठीक उसी तरह पढ़ता है जिस तरह वे दिए गए समय पर मौजूद थे. यह पिछले एक घंटे के अंदर का सटीक टाइमस्टैंप होना चाहिए या अगर पॉइंट-इन-टाइम रिकवरी चालू है, तो यह पिछले सात दिनों में पूरे मिनट का टाइमस्टैंप भी हो सकता है. आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
जवाब का लेख
Firestore.PartitionQuery
का जवाब.
अगर इंडेक्सिंग सही से हाे जाती है, ताे जवाब के लेख में नीचे दिए गए स्ट्रक्चर का डेटा शामिल होता है.
JSON के काेड में दिखाना |
---|
{
"partitions": [
{
object ( |
फ़ील्ड | |
---|---|
partitions[] |
विभाजन के नतीजे. हर सेगमेंट एक स्प्लिट पॉइंट होता है, जिसका इस्तेमाल documents.runQuery को क्वेरी के नतीजों के शुरुआती या आखिरी पॉइंट के तौर पर करना है. document.runQuery के लिए उसी क्वेरी का इस्तेमाल करना ज़रूरी है जो इस document.partitionQuery अनुरोध के लिए दी गई थी. पार्टिशन कर्सर को उसी क्रम में रखा जाएगा जिस क्रम में document.partitionQuery को दी गई क्वेरी के नतीजों के क्रम में लगाया जाएगा. उदाहरण के लिए, अगर documents.partitionQuery अनुरोध, विभाजन कर्सर A और B को लौटाता है, तो इन तीन क्वेरी को चलाने से मूल क्वेरी का पूरा परिणाम सेट मिलेगा:
खाली नतीजे का मतलब यह हो सकता है कि क्वेरी में बहुत कम नतीजे हैं, जिन्हें बांटा जा सकता है या क्वेरी में सेगमेंट बनाने की सुविधा अभी काम नहीं करती. |
nextPageToken |
यह एक पेज टोकन होता है. इसका इस्तेमाल, नतीजों के एक अन्य सेट का अनुरोध करने के लिए किया जा सकता है. यह टोकन, उस संख्या तक हो सकता है जो दस्तावेज़ के लिए दस्तावेज़.पार्टिशनक्वेरी अनुरोध में |
अनुमति के दायरे
इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
ज़्यादा जानकारी के लिए, पुष्टि करने से जुड़ी खास जानकारी देखें.