لغة طلب البحث

لغة طلب البحث هي البنية التي تستخدمها لإجراء عمليات بحث عن المشاكل في "نظام تتبُّع المشاكل من Google". يمكنك استخدام اللغة في طلبات البحث التي تُدخلها في شريط البحث. يمكنك أيضًا استخدام أداة إنشاء طلبات البحث لاختيار المعايير بشكل بياني، والتي يتم تحويلها بعد ذلك إلى لغة الطلب عند إغلاق أداة إنشاء طلبات البحث.

تتيح لك لغة طلب البحث البحث حسب المعايير التالية:

  • الكلمات الرئيسية
  • أزواج الحقل:القيمة

يمكن أن تحتوي عمليات البحث التي تجريها على معايير متعدّدة، بما في ذلك مجموعة من الكلمات الرئيسية وزوجَي الحقل:القيمة. تتيح لك بنية لغة طلبات البحث تحديد العلاقة والترتيب الذي يتمّ فيه النظر في المعايير باستخدام عوامل التشغيل المنطقية والأقواس والشَرطات.

عمليات البحث عن الكلمات الرئيسية

الكلمات الرئيسية هي سلاسل نصية يمكنك استخدامها للبحث في حقول معيّنة في المشاكل. هذه الحقول هي:

  • العنوان
  • التعليقات
  • أسماء المرفقات
  • الحقول التي تحتوي على مستخدمين (مثل المخصّص أو نسخة إلى)
  • الحقول التي تحتوي على رقم تعريف داخلي (على سبيل المثال، الحقول التي تحدّد المكوّن أو القوائم المفضّلة التي تحتوي على مشكلة)
  • الحقول التي تحتوي على أرقام الإصدار
  • الحقول المخصّصة

من الأمثلة على معايير البحث عن الكلمات الرئيسية السلسلة configuration properties. عند إدخال هذه المعايير في عملية بحث، يبحث "نظام تتبُّع المشاكل" على مستوى النظام عن المشاكل في جميع المكوّنات ويعرض تلك التي تحتوي حقولها على كلتا الكلمتين الرئيسيتين، وذلك تبعًا لأذونات التحكّم في الوصول. قد تكون الكلمات الرئيسية في حقول مختلفة أو الحقول نفسها.

ستتطابق الكلمات الرئيسية أيضًا مع بعض المرادفات الأساسية، لذا قد يؤدي البحث عن property إلى العثور أيضًا على خطأ يحتوي على الكلمة properties. في حال عدم تفعيل هذه الميزة، لن تتم مطابقة عمليات البحث إلا مع الرموز الكاملة للكلمات، بدلاً من التعامل مع طلب البحث على أنّه سلسلة فرعية.

تتم إزالة معظم الأحرف الخاصة من الكلمات الرئيسية قبل إجراء عملية البحث. على سبيل المثال، سيتم تقسيم طلب بحث مثل my-query_text إلى الرمزَين المميّزَين my وquery_text وعرض الأخطاء التي تتطابق مع كلا الرمزين المميّزَين.

يتعامل "نظام تتبُّع المشاكل" مع حرف المسافة الذي يفصل معايير البحث على أنّه AND عامل تشغيل ضمني. يمكنك استخدام علامتَي اقتباس (") لتحديد أنّه يجب اعتبار سلسلة متعددة الكلمات كلمة رئيسية واحدة. إنّ كل عمليات البحث في "أداة تتبُّع المشاكل" غير حساسة لحالة الأحرف، سواء كنت تستخدم علامات الاقتباس أم لا.

عمليات البحث عن أزواج الحقل:القيمة

يمكنك أيضًا تحديد معايير البحث كزوج حقل:قيمة. بنية الجملة الأساسية هي [field]:[value]. بالنسبة إلى الحقول النصية، تتطابق هذه البنية مع المشاكل التي يحتوي فيها الحقل المحدّد على القيمة. بالنسبة إلى الأنواع الأخرى من الحقول، يتطابق مع المشاكل التي تكون فيها قيمة الحقل مكافئة.

على سبيل المثال، يؤدي البحث عن title:latency إلى مطابقة المشاكل التي تحتوي على الكلمة latency في حقل العنوان. يؤدي البحث عن priority:p0 إلى العثور على مشاكل ذات أولوية p0.

سيتم تفسير أيّ حقل غير معروف على أنّه بحث كلمات رئيسية.

يُرجى العلم أنّه بالنسبة إلى حقلَي الوقت والعدد، يمكنك استخدام رموز علاقات أخرى بجانب حرف النقطتَين الفوقيتَين. اطّلِع على العوامل الارتباطية.

عمليات البحث عن القيم الخاصة باستخدام أيّ وبدون

يمكن البحث في الحقول الاختيارية باستخدام القيمتَين الخاصتَين any وnone. any تطابق مع أي قيمة غير صفرية. تتطابق none مع القيم الخالية. للحصول على قائمة بكل تصنيفات الحقول المتوافقة في لغة طلب البحث، يُرجى الاطّلاع على مرجع طلبات البحث.

العوامل المنطقية

تسمح لك عوامل التشغيل المنطقية بتحديد أكثر من معيار واحد والإشارة إلى العلاقة بينهما. تعمل أحرف المسافات خارج علامات الاقتباس بصفتها عوامل AND ضمنية. يتيح "نظام تتبُّع المشاكل" العوامل المنطقية الصريحة التالية:

عامل التشغيل الرمز البديل الوصف مثال
و {whitespace} المطابقة إذا كانت المشكلة تحتوي على كلا المعيارَين star:true AND componentid:46046
أو | مطابقة إذا كانت المشكلة تحتوي على أحد هذين المعيارين type:(Bug|feature_request)
NOT - تتطابق إذا كانت المشكلة لا تحتوي على المعايير -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] إلى اليوم المكوّن من رقمين، و[HH] إلى الساعة المكوّنة من رقمين على مدار 24 ساعة، و[mm] إلى الدقيقة، و[ss] إلى الثانية. يتم تفسير كل الأوقات في عمليات البحث على أنّها بالتوقيت العالمي المتفق عليه، حتى إذا اخترت منطقة زمنية مختلفة في إعدادات التاريخ والوقت.

يمكنك تحديد مستوى التحديد عند البحث عن المشاكل التي تم إنشاؤها في وقت معيّن أو قبله أو بعده. على سبيل المثال، يمكنك تحديد created:2014-06 للعثور على المشاكل التي تم إنشاؤها في أي وقت في حزيران (يونيو) 2014. لمزيد من التحديد، يمكنك البحث عن created:2014-06-03T04 للعثور على المشاكل التي تم إنشاؤها في 3 يونيو (حزيران) 2014 في الساعة 4 (بين الساعة 4 و5 صباحًا بالتوقيت العالمي المتّفق عليه).

النطاقات الزمنية

يمكنك استخدام حرفَي فاصلة (..) لتحديد نطاق زمني في معايير البحث field:value. بناء الجملة هو [field]:[start time]..[end time]. يمكن أن تتسم أوقات البدء والانتهاء بأي درجة من التحديد التي تريدها. على سبيل المثال، تعرِض القيمة verified:2013..2015 جميع المشاكل التي تم التحقّق منها في عام 2013 أو 2014 أو 2015.

تنسيق الوقت النسبي

يمكنك أيضًا تحديد وقت بالاستناد إلى الأيام السابقة لليوم. لإجراء ذلك، استخدِم التنسيق [days]d، حيث يكون [days] هو عدد الأيام السابقة التي تريد إدراجها في نتائج البحث. على سبيل المثال، يمكنك استخدام modified:5d للعثور على المشاكل التي تم تعديلها في آخر خمسة أيام.

عند استخدام تنسيق وقت نسبي، يجب أن يكون عامل التشغيل هو حرف النقطتَين العموديتَين (:) مثل created:5d. إذا كنت تريد العثور على مشاكل لا تندرج ضمن النطاق ، يمكنك استخدام المعامل NOT أو -.

على سبيل المثال، تعرض الدالة -verified:10d المشاكل التي لم يتم التحقّق منها في الأيام العشرة الماضية. إذا أردت العثور على المشاكل التي تم التحقّق منها، ولكن ليس في الأيام العشرة الماضية، يمكنك استخدام (-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.