Skip to main content

क्वेरी बनाना

क्वेरी की सीमाएँ! आप कौन-सा access level इस्तेमाल कर रहे हैं, इसके आधार पर आपकी क्वेरी पर सीमाएँ लागू होंगी।  पे-पर-यूज़ ग्राहकों के लिए आपकी क्वेरी 512 वर्णों तक लंबी हो सकती है, जबकि Enterprise ग्राहकों के लिए यह 4,096 वर्णों तक हो सकती है। अगर आपके पास Enterprise एक्सेस है, तो कृपया अपने अकाउंट मैनेजर से संपर्क करें।  ऑपरेटर की उपलब्धता हालाँकि ज़्यादातर ऑपरेटर सभी डेवलपर्स के लिए उपलब्ध हैं, कुछ ऑपरेटर केवल उन लोगों के लिए आरक्षित हैं जिन्हें Enterprise एक्सेस के लिए स्वीकृति मिली है। हम ऑपरेटरों की सूची तालिका में यह दर्शाते हैं कि हर ऑपरेटर किस एक्सेस स्तर पर उपलब्ध है, और इसके लिए नीचे दिए गए लेबल का उपयोग करते हैं:
  • Core operators: किसी भी Project का उपयोग करते समय उपलब्ध।
  • Advanced operators: Enterprise एक्सेस वाले Project का उपयोग करते समय उपलब्ध।   

ऑपरेटर के प्रकार: standalone और conjunction-required

Standalone operators का इस्तेमाल अकेले या किसी भी अन्य ऑपरेटर के साथ किया जा सकता है (उन ऑपरेटरों सहित जिन्हें conjunction की आवश्यकता होती है)। उदाहरण के लिए, नीचे दी गई क्वेरी काम करेगी क्योंकि इसमें #hashtag ऑपरेटर का उपयोग किया गया है, जो standalone है: #xapiv2 Conjunction-required operators का उपयोग किसी क्वेरी में अपने-आप नहीं किया जा सकता; इनका उपयोग केवल तभी किया जा सकता है जब क्वेरी में कम-से-कम एक standalone operator शामिल हो। ऐसा इसलिए है क्योंकि इन ऑपरेटरों का अकेले उपयोग बहुत ज़्यादा सामान्य होगा, और यह पोस्ट्स की अत्यंत बड़ी मात्रा से मेल खाएगा। उदाहरण के लिए, नीचे दी गई क्वेरियाँ समर्थित नहीं हैं क्योंकि इनमें केवल conjunction-required operators शामिल हैं: has:media has:links OR is:retweet अगर हम एक standalone operator जोड़ दें, जैसे वाक्यांश “X data”, तो क्वेरी सही तरीके से काम करेगी।  “X data” has:mentions (has:media OR has:links)

बूलियन ऑपरेटर और समूहबद्धता

यदि आप एक ही क्वेरी में कई ऑपरेटरों को एक साथ जोड़ना चाहते हैं, तो इसके लिए आपके पास निम्नलिखित विकल्प हैं: निषेध के बारे में एक टिप्पणी ऑपरेटर -is:nullcast का हमेशा निषेध किया जाना चाहिए। निषेध किए गए ऑपरेटर अकेले उपयोग नहीं किए जा सकते। कोष्ठकों में एक साथ समूहित किए गए ऑपरेटरों के पूरे सेट का निषेध न करें। इसके बजाय, हर अलग ऑपरेटर का निषेध करें। उदाहरण के लिए, skiing -(snow OR day OR noschool) का उपयोग करने के बजाय, हम सुझाव देते हैं कि आप skiing -snow -day -noschool का उपयोग करें।  ऑपरेशन का क्रम जब AND और OR कार्यक्षमता को एक साथ इस्तेमाल किया जाता है, तो नीचे दिया गया ऑपरेशन क्रम तय करता है कि आपकी क्वेरी का मूल्यांकन कैसे होगा।
  1. AND लॉजिक से जुड़े ऑपरेटर पहले संयोजित किए जाते हैं
  2. उसके बाद, OR लॉजिक से जुड़े ऑपरेटर लागू किए जाते हैं
उदाहरण के लिए:
  • apple OR iphone ipad का मूल्यांकन apple OR (iphone ipad) के रूप में किया जाएगा
  • ipad iphone OR android का मूल्यांकन (iphone ipad) OR android के रूप में किया जाएगा
अनिश्चितता को दूर करने और यह सुनिश्चित करने के लिए कि आपकी क्वेरी का मूल्यांकन आपके इरादे के अनुसार हो, जहाँ उचित हो वहाँ शब्दों को कोष्ठकों में समूहित करें।  उदाहरण के लिए:
  • (apple OR iphone) ipad
  • iphone (ipad OR android)  
विराम-चिह्न, डायक्रिटिक्स, और केस सेंसिटिविटी यदि आप किसी कीवर्ड या हैशटैग क्वेरी में उच्चारण चिह्न या डायक्रिटिक्स वाले वर्ण निर्दिष्ट करते हैं, तो वह उस पोस्ट टेक्स्ट से मेल खाएगी जिसमें वही शब्द उच्चारण चिह्न और डायक्रिटिक्स के साथ हों, साथ ही उन शब्दों से भी जिनमें सामान्य वर्ण हों। उदाहरण के लिए, Diacrítica कीवर्ड या #cumpleaños हैशटैग वाली क्वेरी Diacrítica या #cumpleaños से मेल खाएगी, साथ ही Diacritica या #cumpleanos से भी, जिनमें tilde í या eñe न हो। उच्चारण चिह्न या डायक्रिटिक्स वाले वर्णों को सामान्य वर्णों के समान माना जाता है और उन्हें शब्द-सीमा नहीं माना जाता। उदाहरण के लिए, cumpleaños कीवर्ड वाली क्वेरी केवल उन गतिविधियों से मेल खाएगी जिनमें cumpleaños शब्द शामिल हो, और उन गतिविधियों से मेल नहीं खाएगी जिनमें cumpleacumplean, या os शामिल हों। सभी ऑपरेटरों का मूल्यांकन case-insensitive तरीके से किया जाता है। उदाहरण के लिए, cat क्वेरी निम्नलिखित सभी वाले पोस्ट्स से मेल खाएगी: catCATCat फ़िल्टर की गई स्ट्रीम का मिलान व्यवहार पोस्ट काउंट्स से अलग तरह से काम करता है। जब आप फ़िल्टर की गई स्ट्रीम के लिए नियम बना रहे हों, तो ध्यान रखें कि उच्चारण चिह्न और डायक्रिटिक्स वाले कीवर्ड और हैशटैग केवल उन्हीं शब्दों से मेल खाएँगे जिनमें वही उच्चारण चिह्न और डायक्रिटिक्स भी हों, और उन शब्दों से मेल नहीं खाएँगे जो इसके बजाय सामान्य वर्णों का उपयोग करते हैं।  उदाहरण के लिए, ऐसे फ़िल्टर की गई स्ट्रीम rules जिनमें Diacrítica कीवर्ड या #cumpleaños हैशटैग शामिल हो, वे केवल Diacrítica और #cumpleaños शब्दों से मेल खाएँगे, और Diacritica या #cumpleanos से मेल नहीं खाएँगे, जिनमें tilde í या eñe न हो विशिष्टता और दक्षता जब आप अपनी क्वेरी बनाना शुरू करते हैं, तो कुछ बातों को ध्यान में रखना महत्वपूर्ण है।
  • अपनी क्वेरी के लिए बहुत व्यापक, अकेले इस्तेमाल होने वाले ऑपरेटर—जैसे कोई एक कीवर्ड या #hashtag—का उपयोग करना आम तौर पर अनुशंसित नहीं है, क्योंकि इससे संभवतः बहुत बड़ी संख्या में पोस्ट्स मैच होंगी। अधिक सशक्त क्वेरी बनाने से मैच होने वाली पोस्ट्स का अधिक विशिष्ट सेट मिलेगा, और उम्मीद है कि इससे आपके पोस्ट काउंट्स की सटीकता बढ़ेगी, जिससे आपको अधिक मूल्यवान जानकारी मिल सकेगी। 
    • उदाहरण के लिए, यदि आपकी क्वेरी सिर्फ happy कीवर्ड हो, तो आपको संभवतः प्रति दिन 200,000 - 300,000 पोस्ट्स मिल सकती हैं।
    • अधिक शर्तीय ऑपरेटर जोड़ने से आपके परिणाम सीमित होते हैं, उदाहरण के लिए (happy OR happiness) place_country:GB -birthday -is:retweet
  • प्रभावी क्वेरी लिखना, क्वेरी की लंबाई पर लागू वर्ण-सीमा के भीतर बने रहने के लिए भी फायदेमंद है। वर्ण गणना में स्पेस और ऑपरेटर सहित पूरी क्वेरी स्ट्रिंग शामिल होती है।
    • उदाहरण के लिए, नीचे दी गई क्वेरी 59 वर्ण लंबी है: (happy OR happiness) place_country:GB -birthday -is:retweet
Quote Tweet मिलान व्यवहार पोस्ट काउंट्स endpoints का उपयोग करते समय, ऑपरेटर उस मूल पोस्ट की सामग्री पर मैच नहीं करेंगे जिसे Quote किया गया था, लेकिन Quote Tweet में शामिल सामग्री पर मैच करेंगे। हालाँकि, कृपया ध्यान दें कि फ़िल्टर की गई स्ट्रीम Quote की गई मूल पोस्ट की सामग्री और Quote Tweet की सामग्री, दोनों पर मैच करेगा।   क्रमिक रूप से क्वेरी बनाना अपनी क्वेरी का जल्दी और बार-बार परीक्षण करें पहली बार में “सही” परिणाम लौटाने वाली क्वेरी मिलना दुर्लभ है। X पर बहुत कुछ ऐसा है जो शुरुआत में स्पष्ट भी हो सकता है और नहीं भी, और ऊपर बताए गए क्वेरी सिंटैक्स को अपनी इच्छित क्वेरी के अनुरूप बनाना कठिन हो सकता है। जब आप क्वेरी बना रहे हों, तो यह ज़रूरी है कि आप समय-समय पर Search Post endpoints में से किसी एक का उपयोग करके उसका परीक्षण करें, ताकि यह सुनिश्चित हो सके कि आपकी क्वेरी से मैच होने वाली पोस्ट्स आपके उपयोग के मामले के लिए प्रासंगिक हैं। इस अनुभाग में, हम नीचे दी गई क्वेरी से शुरुआत करेंगे और अपने परीक्षण के दौरान मिले परिणामों के आधार पर उसमें बदलाव करेंगे:  happy OR happiness क्वेरी को सीमित करने के लिए परिणामों का उपयोग करें जब आप Search Posts के साथ क्वेरी का परीक्षण करते हैं, तो आपको लौटाई गई पोस्ट्स को देखकर यह जाँचना चाहिए कि क्या उनमें वह डेटा शामिल है जिसकी आप अपेक्षा कर रहे हैं और जिसे आप पाना चाहते हैं। व्यापक क्वेरी और पोस्ट मैचों के बड़े सेट से शुरुआत करने पर आप परिणामों की समीक्षा कर सकते हैं और अवांछित परिणामों को हटाने के लिए क्वेरी को सीमित कर सकते हैं।   जब हमने उदाहरण क्वेरी का परीक्षण किया, तो हमने देखा कि हमें कई अलग-अलग भाषाओं में पोस्ट्स मिल रही थीं। इस स्थिति में, हम केवल अंग्रेज़ी में पोस्ट्स प्राप्त करना चाहते हैं, इसलिए हम lang: ऑपरेटर जोड़ेंगे: (happy OR happiness) lang:en परीक्षण में लोगों को happy birthday की शुभकामनाएँ देने वाली कई पोस्ट्स मिलीं, इसलिए हम नकारात्मक कीवर्ड ऑपरेटर के रूप में -birthday जोड़ेंगे। हम केवल मूल पोस्ट्स ही प्राप्त करना चाहते हैं, इसलिए हमने नकारात्मक -is:retweet ऑपरेटर भी जोड़ा है: (happy OR happiness) lang:en -birthday -is:retweet जहाँ आवश्यक हो, समावेशन के लिए समायोजन करें यदि आप देखते हैं कि Search Posts के माध्यम से आपको वह डेटा नहीं मिल रहा है जिसकी आप अपेक्षा करते हैं, और आप जानते हैं कि ऐसी मौजूदा पोस्ट्स हैं जो वापस आनी चाहिए, तो हो सकता है आपको अपनी क्वेरी को व्यापक बनाने के लिए ऐसे ऑपरेटर हटाने पड़ें जो इच्छित डेटा को फ़िल्टर कर रहे हों।  हमारे उदाहरण में, हमने देखा कि हमारी निजी timeline में कुछ अन्य पोस्ट्स भी थीं जो उस भावना को व्यक्त कर रही थीं जिसकी हम तलाश कर रहे हैं, लेकिन वे परीक्षण परिणामों में शामिल नहीं थीं। बेहतर कवरेज सुनिश्चित करने के लिए, हम excited और elated कीवर्ड जोड़ेंगे। (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet समयावधि के दौरान लोकप्रिय ट्रेंड्स/उछाल के अनुसार समायोजन करें ट्रेंड्स X पर तेज़ी से आते-जाते हैं। अपनी क्वेरी को बनाए रखना एक सक्रिय प्रक्रिया होनी चाहिए। यदि आप किसी क्वेरी का कुछ समय तक उपयोग करने की योजना बना रहे हैं, तो हम सुझाव देते हैं कि आप समय-समय पर प्राप्त हो रहे डेटा की जाँच करें, ताकि पता चल सके कि किसी समायोजन की आवश्यकता है या नहीं। हमारे उदाहरण में, हमने देखा कि हमें कुछ ऐसी पोस्ट्स मिलने लगीं जो लोगों को “happy holidays” कह रही हैं। चूँकि हम नहीं चाहते कि ये पोस्ट्स हमारे परिणामों में शामिल हों, इसलिए हम नकारात्मक -holidays कीवर्ड जोड़ेंगे। (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays  एक बार जब आप अपनी क्वेरी का ठीक से परीक्षण कर लें और उसमें कई बार सुधार कर लें, तो आप इसे पोस्ट काउंट्स endpoints के साथ भेजना शुरू कर सकते हैं, ताकि पूर्ण Post payloads के बजाय केवल पोस्ट्स की संख्या प्राप्त हो।

अपने अनुरोध में क्वेरी जोड़ना

अपने अनुरोध में क्वेरी जोड़ने के लिए, आपको query पैरामीटर का उपयोग करना होगा। अन्य क्वेरी पैरामीटर की तरह, आपको यह सुनिश्चित करना होगा कि आपकी बनाई गई क्वेरी HTTP-encoded हो। cURL कमांड का उपयोग करके यह कैसा दिख सकता है, इसका एक उदाहरण यहाँ दिया गया है। यदि आप इस कमांड का उपयोग करना चाहते हैं, तो कृपया $BEARER_TOKEN को अपने बेयरर टोकन से बदल दें:

क्वेरी उदाहरण

किसी प्राकृतिक आपदा को ट्रैक करना नीचे दी गई क्वेरी 2017 में ह्यूस्टन से आए Hurricane Harvey पर चर्चा करने वाली मौसम एजेंसियों और गेजों के मूल पोस्ट्स से मेल खाती थी। HTTP एन्कोडिंग के बिना क्वेरी इस प्रकार दिखेगी: has:geo (from:NWSNHC OR from:NHC_Atlantic OR from:NWSHouston OR from:NWSSanAntonio OR from:USGS_TexasRain OR from:USGS_TexasFlood OR from:JeffLindner1) -is:retweet और HTTP एन्कोडिंग, query पैरामीटर, और recent पोस्ट काउंट्स URI के साथ क्वेरी इस प्रकार दिखेगी: https://api.x.com/2/tweets/counts/recent?query=-is%3Aretweet%20has%3Ageo%20(from%3ANWSNHC%20OR%20from%3ANHC_Atlantic%20OR%20from%3ANWSHouston%20OR%20from%3ANWSSanAntonio%20OR%20from%3AUSGS_TexasRain%20OR%20from%3AUSGS_TexasFlood%20OR%20from%3AJeffLindner1) किसी बातचीत की भावना का विश्लेषण करना अगला नियम हैशटैग, #nowplaying, के आसपास विकसित हो रही बातचीत की भावना को बेहतर ढंग से समझने के लिए इस्तेमाल किया जा सकता है, लेकिन इसका दायरा केवल North America में प्रकाशित पोस्ट्स तक सीमित है। HTTP एन्कोडिंग के बिना, सकारात्मक और नकारात्मक के लिए दो अलग-अलग क्वेरियाँ इस प्रकार दिखेंगी: #nowplaying (happy OR exciting OR excited OR favorite OR fav OR amazing OR lovely OR incredible) (place_country:US OR place_country:MX OR place_country:CA) -horrible -worst -sucks -bad -disappointing #nowplaying (horrible OR worst OR sucks OR bad OR disappointing) (place_country:US OR place_country:MX OR place_country:CA) -happy -exciting -excited -favorite -fav -amazing -lovely -incredible और HTTP एन्कोडिंग, query पैरामीटर, और recent पोस्ट काउंट्स URI के साथ क्वेरी इस प्रकार दिखेगी: https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(happy%20OR%20exciting%20OR%20excited%20OR%20favorite%20OR%20fav%20OR%20amazing%20OR%20lovely%20OR%20incredible)%20(place_country%3AUS%20OR%20place_country%3AMX%20OR%20place_country%3ACA)%20-horrible%20-worst%20-sucks%20-bad%20-disappointing https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(horrible%20OR%20worst%20OR%20sucks%20OR%20bad%20OR%20disappointing)%20(place_country%3AUS%20OR%20place_country%3AMX%20OR%20place_country%3ACA)%20-happy%20-exciting%20-excited%20-favorite%20-fav%20-amazing%20-lovely%20-incredible ऐसे पोस्ट्स खोजें जो किसी विशिष्ट Post annotation से संबंधित हों यह नियम उन मूल पोस्ट्स को फ़िल्टर करने के लिए बनाया गया था जिनमें किसी ऐसे पालतू जानवर की छवि शामिल हो जो बिल्ली न हो, और जिनमें पोस्ट की पहचानी गई भाषा जापानी हो। ऐसा करने के लिए, हमने context: operator का उपयोग किया ताकि Post annotation की सुविधा का लाभ उठाया जा सके। हमने पहले Post lookup endpoint और tweet.fields=context_annotations फ़ील्ड्स पैरामीटर का उपयोग करके यह पहचाना कि अपनी क्वेरी में हमें कौन-सी domain.entity IDs इस्तेमाल करनी हैं:
  • बिल्लियों से संबंधित पोस्ट्स domain 66 (Interests and Hobbies category) और entity 852262932607926273 (Cats) लौटाते हैं। 
  • पालतू जानवरों से संबंधित पोस्ट्स domain 65 (Interests and Hobbies Vertical) और entity 852262932607926273 (Pets) लौटाते हैं। 
HTTP एन्कोडिंग के बिना क्वेरी इस प्रकार दिखेगी: context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja और HTTP एन्कोडिंग, query पैरामीटर, और recent पोस्ट काउंट्स URI के साथ क्वेरी इस प्रकार दिखेगी: https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja

ऑपरेटर