क्वेरी की भाषा खोजें

खोज क्वेरी भाषा वह सिंटैक्स है जिसका इस्तेमाल आप Google समस्या ट्रैकर में समस्याओं से जुड़ी खोज करने के लिए करते हैं. आप खोज बार में डाली गई खोज क्वेरी में उस भाषा का इस्तेमाल कर सकते हैं. सर्च बिल्डर का इस्तेमाल करके, ग्राफ़ के हिसाब से शर्तें भी चुनी जा सकती हैं. इसके बाद, सर्च बिल्डर बंद होने पर, इस क्वेरी को क्वेरी लैंग्वेज में बदल दिया जाता है.

क्वेरी भाषा की मदद से, इन चीज़ों के आधार पर खोज की जा सकती है:

  • कीवर्ड
  • फ़ील्ड/वैल्यू पेयर

आपके खोजे जाने वाले कीवर्ड में कई शर्तें हो सकती हैं. इनमें, कीवर्ड और फ़ील्ड/वैल्यू पेयर का कॉम्बिनेशन भी शामिल होता है. क्वेरी लैंग्वेज सिंटैक्स की मदद से, उस संबंध और क्रम को तय किया जा सकता है जिसमें लॉजिकल ऑपरेटर, ब्रैकेट, और कोटेशन मार्क इस्तेमाल करके शर्तें तय की जाती हैं.

कीवर्ड की खोज

कीवर्ड, ऐसी टेक्स्ट स्ट्रिंग होती हैं जिनका इस्तेमाल किसी खास फ़ील्ड में खोज करने के लिए किया जा सकता है. ये फ़ील्ड हैं:

  • टाइटल
  • टिप्पणियां
  • अटैचमेंट के नाम
  • ऐसे फ़ील्ड जिनमें उपयोगकर्ता शामिल हैं. उदाहरण के लिए, असाइनी या सबटाइटल
  • ऐसे फ़ील्ड जिनमें इंटरनल आईडी नंबर शामिल होता है. उदाहरण के लिए, वे फ़ील्ड जिनमें समस्या वाले कॉम्पोनेंट या हॉटलिस्ट की जानकारी दी गई है
  • वर्शन नंबर वाले फ़ील्ड
  • कस्टम फ़ील्ड

कीवर्ड खोज की शर्तों का एक उदाहरण, configuration properties स्ट्रिंग है. जब किसी खोज में यह शर्त डाली जाती है, तो Issue Tracker, दुनिया भर में सभी कॉम्पोनेंट में समस्याओं की खोज करता है. साथ ही, उन कॉम्पोनेंट की जानकारी दिखाता है जिनके ऊपर दिए गए फ़ील्ड में दोनों कीवर्ड होते हैं. ये ऐसे कीवर्ड होते हैं जिन्हें आपके ऐक्सेस कंट्रोल अनुमतियों से कंट्रोल किया जाता है. कीवर्ड अलग-अलग फ़ील्ड या एक ही फ़ील्ड में हो सकते हैं.

समस्या ट्रैकर, खोज मानदंड को अलग करने वाले स्पेस कैरेक्टर को एक इंप्लिसिट AND ऑपरेटर के तौर पर देखता है. कोटेशन मार्क (") का इस्तेमाल करके यह तय किया जा सकता है कि कई शब्दों वाली स्ट्रिंग को एक कीवर्ड माना जाए. समस्या ट्रैकर में सभी खोजें केस-इनसेंसिटिव होती हैं, फिर चाहे आप कोटेशन मार्क का इस्तेमाल करें या न करें.

फ़ील्ड/वैल्यू पेयर से जुड़ी खोजें

खोज की शर्तों को फ़ील्ड/वैल्यू पेयर के तौर पर भी तय किया जा सकता है. बेस सिंटैक्स [field]:[value] है. टेक्स्ट फ़ील्ड के लिए, यह सिंटैक्स उन समस्याओं से मेल खाता है जिनमें बताए गए फ़ील्ड में वैल्यू शामिल है. दूसरी तरह के फ़ील्ड के लिए, यह उन समस्याओं से मेल खाता है जिनमें फ़ील्ड की वैल्यू समान है.

उदाहरण के लिए, title:latency खोजने पर, टाइटल फ़ील्ड में latency शब्द से जुड़ी समस्याएं मिलती हैं. priority:p0 खोजने पर, p0 प्राथमिकता वाली गड़बड़ियां मिलती हैं.

ध्यान दें कि समय और संख्या वाले फ़ील्ड के लिए, कोलन वर्ण के अलावा दूसरे मिलते-जुलते निशान इस्तेमाल किए जा सकते हैं. नीचे रिलेशनल ऑपरेटर देखें.

किसी का भी इस्तेमाल और कोई नहीं का इस्तेमाल करके खास वैल्यू की खोज

वैकल्पिक फ़ील्ड के लिए, खास वैल्यू any और none का इस्तेमाल किया जा सकता है. any किसी भी ऐसी वैल्यू से मेल खाता है जो शून्य नहीं है. none, शून्य वैल्यू से मैच करता है. खोज क्वेरी भाषा में इस्तेमाल किए जा सकने वाले सभी फ़ील्ड लेबल की सूची देखने के लिए, खोज क्वेरी का रेफ़रंस देखें.

लॉजिकल ऑपरेटर

लॉजिकल ऑपरेटर आपको एक से ज़्यादा मानदंड तय करने और उनके बीच संबंध बताने की सुविधा देते हैं. जैसा कि ऊपर बताया गया है, कोटेशन मार्क के बाहर मौजूद स्पेस कैरेक्टर, इंप्लिसिट AND ऑपरेटर के तौर पर काम करते हैं. समस्या ट्रैकर नीचे दिए गए अतिरिक्त साफ़ लॉजिकल ऑपरेटर के साथ काम करता है:

ऑपरेटर वैकल्पिक चिह्न ब्यौरा उदाहरण
AND {whitespace} यह तब मेल खाता है, जब समस्या में दोनों शर्तें शामिल होती हैं star:true AND componentid:46046
OR | यह तब मेल खाता है, जब समस्या में कोई एक शर्त शामिल होती है type:(Bug|feature_request)
नहीं - यह तब मैच करता है, जब समस्या में ज़रूरी शर्तें पूरी न की गई हों -assignee:jim
"..." यह तब मैच करता है, जब समस्या में कोट किया गया वाक्यांश मौजूद होता है (कोटेशन में मौजूद शब्द एक ही क्रम में दिखते हैं) comment:"We have a problem"
( वैल्यू या खोज की शर्तों को एक साथ ग्रुप करता है status:open AND (priority:(p0|p1) OR severity:(s0|s1))

निम्न पर ध्यान दें:

  • आपको AND, OR, और NOT के लिए सभी बड़े अक्षरों का इस्तेमाल करना होगा.

  • NOT ऑपरेटर का मतलब एक ही होता है. इससे कोई फ़र्क़ नहीं पड़ता कि वह फ़ील्ड के नाम से पहले आता है या फ़ील्ड की वैल्यू से. इसका मतलब है कि -assignee:jim और assignee:-jim एक जैसी हैं.

  • खोज क्वेरी में शब्दों को साफ़ तौर पर ग्रुप करने के लिए, ब्रैकेट का इस्तेमाल करें. डिफ़ॉल्ट रूप से, समस्या ट्रैकर NOT को सिर्फ़ इसके ठीक बाद आने वाले शब्द से जोड़ता है और OR को ब्रैकेट में शामिल दो शब्दों के साथ ग्रुप कर देता है. उदाहरण के लिए, खोज क्वेरी title:(a OR b NOT c AND d), title:((a OR b) AND (NOT c) AND d) के बराबर है.

डैशिज़

खोज क्वेरी के संदर्भ के आधार पर डैश वर्ण (-) के अलग-अलग मतलब होते हैं:

  • समस्या ट्रैकर, खोज में किसी शब्द के पहले वाले डैश को NOT ऑपरेटर के रूप में देखता है. उदाहरण के लिए, खोज करने की शर्त -assignee:none या assignee:-none उन सभी समस्याओं को दिखाता है जिन्हें असाइन किया गया है.

  • समस्या ट्रैकर, डैश वर्ण से कनेक्ट की गई स्ट्रिंग को कोटेशन मार्क के अंदर मानता है. उदाहरण के लिए, खोज करने की शर्त state-of-the-art, "state of the art" के बराबर है.

  • समस्या ट्रैकर, समस्या वाले फ़ील्ड में हाइफ़न वाले शब्दों को व्हाइट स्पेस से अलग किए गए शब्दों के तौर पर देखता है. इसका मतलब है कि अगर किसी समस्या के टाइटल में state-of-the-art शब्द है और खोज क्वेरी title:(of art state the) या title:("state of the art") का इस्तेमाल किया जाता है, तो समस्या को खोज के नतीजों के तौर पर दिखाया जाएगा.

रिलेशनल ऑपरेटर

किसी फ़ील्ड/वैल्यू की खोज करने की शर्त के लिए बेस सिंटैक्स [field]:[value] होता है. इसमें कोलन वर्ण (:) बताता है कि फ़ील्ड में तय वैल्यू के बराबर या उसमें शामिल वैल्यू होनी चाहिए, ताकि खोज के नतीजों में गड़बड़ी दिखाई जा सके.

जिन फ़ील्ड में टाइम वैल्यू (created, modified, resolved, verified और कुछ कस्टम फ़ील्ड) या काउंट वैल्यू (duplicatecount, votecount, commentcount, और cccount) हैं, वे इन अन्य रिलेशनल ऑपरेटर के साथ काम करते हैं:

चिह्न ब्यौरा
< उन समस्याओं से मेल खाता है जिनकी वैल्यू, आपकी खोज वैल्यू से कम/पहले की है.
<= उन समस्याओं से मेल खाता है जिनकी वैल्यू, आपकी खोज वैल्यू से कम/पहले या उसके बराबर है.
> उन समस्याओं से मेल खाता है जिनकी वैल्यू आपकी खोज वैल्यू से ज़्यादा/बाद में है.
>= किसी समस्या से मेल तब खाता है, जब उसकी वैल्यू आपकी खोज वैल्यू से ज़्यादा/बाद में या उसके बराबर होती है.

समय की खोजें

सर्च क्वेरी लैंग्वेज, टाइम वैल्यू वाले फ़ील्ड से मेल खाने के लिए एक खास सिंटैक्स देती है. इससे समस्या ट्रैकर, ज़रूरत के हिसाब से बार-बार या मिलते-जुलते समय पर खोज कर पाता है.

निरपेक्ष समय का फ़ॉर्मैट

समय की जानकारी देने का फ़ॉर्मैट यह है:

[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss].

इस फ़ॉर्मैट में, [yyyy] चार अंकों वाला साल, [MM] दो अंकों वाला महीना, [dd] 2 अंकों वाला दिन, [HH] 24 घंटे की घड़ी के दो अंकों वाले घंटे, [mm] मिनट, और [ss] दूसरा अंक है. सभी समय यूटीसी में हैं.

किसी तय समय पर, उससे पहले या बाद में जनरेट की गई समस्याओं को खोजते समय, अपनी पसंद के हिसाब से समस्या के बारे में बताया जा सकता है. उदाहरण के लिए, ऐसी समस्याएं ढूंढने के लिए created:2014-06 तय किया जा सकता है जो जून 2014 में किसी भी समय बनाई गई थीं. जिन समस्याओं के बारे में ज़्यादा सटीक जानकारी चाहिए उन्हें created:2014-06-03T04 पर खोजा जा सकता है. इससे आपको उन समस्याओं का पता चलेगा जो 3 जून, 2014 को चौथे घंटे (सुबह 4 से 5 बजे के बीच, यूटीसी) में बनाई गई थीं.

समय सीमाएं

फ़ील्ड/वैल्यू की खोज करने की शर्तों में समयसीमा तय करने के लिए, दो पीरियड वर्णों (..) का इस्तेमाल किया जा सकता है. इसका सिंटैक्स [field]:[start time]..[end time] है. शुरू और खत्म होने के समय में, आपको जो भी जानकारी चाहिए उसे बता सकते हैं. उदाहरण के लिए, verified:2013..2015, उन सभी समस्याओं की जानकारी दिखाता है जिनकी पुष्टि 2013, 2014 या 2015 में की गई थी.

रिलेटिव टाइम फ़ॉर्मैट

आप आज से पहले के दिनों के हिसाब से भी समय तय कर सकते हैं. ऐसा करने के लिए, [days]d फ़ॉर्मैट का इस्तेमाल करें. यहां [days] उन दिनों की संख्या है जो पहले आपको खोज नतीजों में शामिल करने हैं. उदाहरण के लिए, पिछले पांच दिनों में बदली गई समस्याओं को ढूंढने के लिए, modified:5d का इस्तेमाल किया जा सकता है.

रिलेटिव टाइम फ़ॉर्मैट का इस्तेमाल करते समय, ऑपरेटर को created:5d की तरह कोलन वर्ण (:) होना चाहिए. अगर आपको ऐसी समस्याओं का पता लगाना है जो रेंज में नहीं आती हैं, तो NOT या - ऑपरेटर का इस्तेमाल करें.

उदाहरण के लिए, -verified:10d से ऐसी समस्याएं दिखती हैं जिनकी पिछले 10 दिनों में पुष्टि नहीं की गई है. अगर आपको ऐसी समस्याओं का पता लगाना है जिनकी पुष्टि पिछले 10 दिनों में नहीं हुई है, तो (-verified:10d) AND status:verified का इस्तेमाल करें.

दिन के अंकगणित के साथ "आज" की खोजें

आपके पास मौजूदा तारीख के विकल्प के तौर पर, टाइम खोज में today टोकन का इस्तेमाल करने का विकल्प है. यह today+10 और today-2 जैसे दिन का अंकगणित इस्तेमाल करने की सुविधा देता है. today टोकन को today-2..today+3 जैसी समयसीमा के साथ भी इस्तेमाल किया जा सकता है. सेव की गई खोजों में today टोकन का इस्तेमाल करने से, क्वेरी को फिर से इस्तेमाल करने में मदद मिलती है.

उदाहरण:

  • created:today
  • modified<=today-10
  • nearestslo:today+10
  • resolved:2024-02-29..today+2
  • customfield1002:today..today+5

चेतावनी: जैसा कि सटीक समय फ़ॉर्मैट में बताया गया है, समस्या ट्रैकर में समय की खोज यूटीसी में होती है. यह बात उन खोजों पर भी लागू होती है जो today का इस्तेमाल करती हैं.