Bahasa Kueri Penelusuran

Bahasa kueri penelusuran adalah sintaksis yang Anda gunakan untuk melakukan penelusuran masalah di Issue Tracker Google. Anda dapat menggunakan bahasa dalam kueri penelusuran yang dimasukkan di kotak penelusuran. Anda juga dapat menggunakan search builder untuk memilih kriteria secara grafis, yang kemudian dikonversi menjadi bahasa kueri saat search builder ditutup.

Bahasa kueri memungkinkan Anda menelusuri berdasarkan kriteria berikut:

  • Kata kunci
  • Pasangan kolom:nilai

Penelusuran yang Anda lakukan dapat berisi beberapa kriteria, termasuk kombinasi kata kunci dan pasangan kolom:nilai. Sintaksis bahasa kueri memungkinkan Anda menentukan hubungan dan urutan kriteria yang dipertimbangkan menggunakan operator logis, tanda kurung, dan tanda petik.

Penelusuran kata kunci

Kata kunci adalah string teks yang dapat Anda gunakan untuk menelusuri di kolom tertentu dalam masalah. Kolom ini adalah:

  • Judul
  • Komentar
  • Nama lampiran
  • Kolom yang berisi pengguna (misalnya, Penerima atau CC)
  • Kolom yang berisi nomor ID internal (misalnya, kolom yang menentukan komponen atau hotlist yang berisi masalah)
  • Kolom yang berisi nomor versi
  • Kolom kustom

Contoh kriteria penelusuran kata kunci adalah string configuration properties. Saat Anda memasukkan kriteria ini dalam penelusuran, Issue Tracker akan menelusuri masalah secara global di semua komponen dan menampilkan masalah yang kolomnya berisi kedua kata kunci tersebut, seperti yang diatur oleh izin kontrol akses Anda. Kata kunci dapat berada di kolom yang berbeda atau kolom yang sama.

Kata kunci juga akan cocok dengan beberapa sinonim dasar, sehingga penelusuran property mungkin juga menemukan bug yang berisi kata properties. Jika tidak, penelusuran hanya akan mencocokkan token kata lengkap, bukan memperlakukan kueri sebagai substring.

Sebagian besar karakter khusus dihapus dari kata kunci sebelum melakukan penelusuran. Misalnya, kueri seperti my-query_text akan dibagi menjadi token my dan query_text serta menampilkan bug yang cocok dengan kedua token tersebut.

Issue Tracker memperlakukan karakter spasi yang memisahkan kriteria penelusuran sebagai operator AND implisit. Anda dapat menggunakan tanda petik (") untuk menentukan bahwa string multi-kata akan dianggap sebagai satu kata kunci. Semua penelusuran di Issue Tracker tidak peka huruf besar atau kecil, terlepas dari apakah Anda menggunakan tanda kutip atau tidak.

Penelusuran pasangan kolom:nilai

Anda juga dapat menentukan kriteria penelusuran sebagai pasangan kolom:nilai. Sintaksis dasarnya adalah [field]:[value]. Untuk kolom teks, sintaksis ini cocok dengan masalah saat kolom yang ditentukan berisi nilai. Untuk jenis kolom lainnya, kolom ini cocok dengan masalah yang nilai kolomnya setara.

Misalnya, penelusuran title:latency cocok dengan masalah yang berisi kata latency di kolom Judul. Penelusuran priority:p0 akan menemukan masalah dengan prioritas p0.

Semua kolom yang tidak dikenali akan ditafsirkan sebagai penelusuran kata kunci.

Perhatikan bahwa untuk kolom waktu dan jumlah, Anda dapat menggunakan simbol relasional lain selain karakter titik dua. Lihat Operator relasional.

Penelusuran nilai khusus menggunakan any dan none

Kolom opsional dapat dikueri dengan nilai khusus any dan none. any cocok dengan nilai non-null apa pun. none cocok dengan nilai null. Untuk mengetahui daftar semua label kolom yang didukung dalam bahasa kueri penelusuran, lihat Referensi Kueri Penelusuran.

Operator logika

Operator logika memungkinkan Anda menentukan lebih dari satu kriteria dan menunjukkan hubungan di antara keduanya. Karakter spasi di luar tanda petik bertindak sebagai operator AND implisit. Issue Tracker mendukung operator logika eksplisit tambahan berikut:

Operator Simbol alternatif Deskripsi Contoh
DAN {whitespace} Cocok jika masalah berisi kedua kriteria star:true AND componentid:46046
ATAU | Cocok jika masalah berisi salah satu kriteria type:(Bug|feature_request)
NOT - Cocok jika masalah tidak berisi kriteria -assignee:jim
"..." Cocok jika masalah berisi frasa yang dikutip (kata-kata dalam kutipan muncul dalam urutan yang sama) comment:"We have a problem"
( ) Mengelompokkan nilai atau kriteria penelusuran bersama-sama status:open AND (priority:(p0|p1) OR severity:(s0|s1))

Perhatikan hal berikut:

  • Anda harus menggunakan huruf besar semua untuk AND, OR, dan NOT.

  • Operator NOT memiliki arti yang sama, baik sebelum nama kolom maupun nilai kolom. Artinya, -assignee:jim dan assignee:-jim setara.

  • Gunakan tanda kurung untuk mengelompokkan istilah dalam kueri penelusuran dengan jelas. Secara default, Issue Tracker mengaitkan NOT dengan istilah yang langsung mengikutinya saja dan mengelompokkan OR dengan dua istilah yang mengapitnya. Misalnya, kueri penelusuran title:(a OR b NOT c AND d) setara dengan title:((a OR b) AND (NOT c) AND d).

Tanda Hubung

Karakter tanda hubung (-) memiliki arti yang berbeda berdasarkan konteks dalam kueri penelusuran:

  • Issue Tracker memperlakukan tanda hubung sebelum kata dalam penelusuran sebagai operator NOT. Misalnya, kriteria penelusuran -assignee:none atau assignee:-none menampilkan semua masalah yang memiliki penerima tugas.

  • Issue Tracker memperlakukan string yang dihubungkan dengan karakter tanda hubung sebagai diapit tanda kutip. Misalnya, kriteria penelusuran state-of-the-art setara dengan "state of the art".

  • Issue Tracker memperlakukan kata yang dihubungkan dengan tanda hubung di kolom masalah sebagai kata independen yang dipisahkan oleh spasi kosong. Artinya, jika masalah memiliki kata state-of-the-art dalam judulnya dan Anda menjalankan kueri penelusuran title:(of art state the) atau title:("state of the art"), masalah tersebut akan ditampilkan sebagai bagian dari hasil penelusuran.

Operator relasional

Sintaksis dasar untuk kriteria penelusuran kolom:nilai adalah [field]:[value], dengan karakter titik dua (:) menentukan bahwa kolom yang diberikan harus sama dengan atau berisi nilai yang ditentukan agar masalah ditampilkan dalam hasil penelusuran.

Kolom yang berisi nilai waktu (created, modified, resolved, verified, dan kolom kustom tertentu) atau nilai jumlah (duplicatecount, votecount, commentcount, dan cccount) mendukung operator relasional tambahan berikut:

Simbol Deskripsi
< Mencocokkan masalah jika nilainya kurang dari atau sebelum nilai penelusuran Anda.
<= Mencocokkan masalah jika nilainya kurang dari, sebelum, atau sama dengan nilai penelusuran Anda.
> Mencocokkan masalah jika nilainya lebih besar dari atau setelah nilai penelusuran Anda.
>= Mencocokkan masalah jika nilainya lebih besar dari, setelah, atau sama dengan nilai penelusuran Anda.

Penelusuran waktu

Bahasa kueri penelusuran menyediakan sintaksis khusus untuk mencocokkan kolom yang berisi nilai waktu. Hal ini memungkinkan Issue Tracker menelusuri rentang waktu atau waktu relatif sesuai kebutuhan.

Format waktu absolut

Format untuk menentukan waktu adalah:

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

Dalam format ini, [yyyy] adalah tahun dengan 4 digit, [MM] adalah bulan dengan 2 digit, [dd] adalah hari dengan 2 digit, [HH] adalah jam dengan 2 digit dari jam 24 jam, [mm] adalah menit, dan [ss] adalah detik. Semua waktu dalam penelusuran ditafsirkan sebagai UTC, meskipun Anda memilih zona waktu yang berbeda di setelan tanggal dan waktu.

Anda dapat memberikan tingkat kekhususan saat menelusuri masalah yang dibuat pada, sebelum, atau setelah waktu tertentu. Misalnya, Anda dapat menentukan created:2014-06 untuk menemukan masalah yang dibuat kapan saja pada Juni 2014. Untuk lebih spesifik, Anda dapat menelusuri created:2014-06-03T04 untuk menemukan masalah yang dibuat pada 3 Juni 2014 pada jam ke-4 (antara pukul 04.00 dan 05.00, UTC).

Rentang waktu

Anda dapat menggunakan dua karakter titik (..) untuk menentukan rentang waktu dalam kriteria penelusuran kolom:nilai. Sintaksisnya adalah [field]:[start time]..[end time]. Waktu mulai dan akhir dapat memiliki tingkat kekhususan yang Anda perlukan. Misalnya, verified:2013..2015 menampilkan semua masalah yang diverifikasi pada tahun 2013, 2014, atau 2015.

Format waktu relatif

Anda juga dapat menentukan waktu dalam hitungan hari sebelum hari ini. Untuk melakukannya, gunakan format [days]d, dengan [days] adalah jumlah hari sebelumnya yang ingin Anda sertakan dalam hasil penelusuran. Misalnya, Anda dapat menggunakan modified:5d untuk menemukan masalah yang diubah dalam lima hari terakhir.

Saat menggunakan format waktu relatif, operator harus berupa karakter titik dua (:) seperti created:5d. Jika ingin menemukan masalah yang tidak termasuk dalam rentang, Anda dapat menggunakan operator NOT atau -.

Misalnya, -verified:10d menampilkan masalah yang belum diverifikasi dalam 10 hari terakhir. Jika ingin menemukan masalah yang telah diverifikasi, tetapi tidak dalam 10 hari terakhir, Anda dapat menggunakan (-verified:10d) AND status:verified.

Penelusuran "Hari ini" dengan aritmetika hari

Anda dapat menggunakan token today dalam penelusuran waktu sebagai pengganti tanggal saat ini. Class ini mendukung penggunaan aritmetika hari seperti today+10 dan today-2. Token today juga dapat digunakan dengan rentang waktu seperti today-2..today+3. Menggunakan token today di penelusuran tersimpan membantu membuat kueri dapat digunakan kembali.

Contoh:

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

Catatan: Seperti yang disebutkan dalam format waktu absolut, penelusuran waktu di Issue Tracker menggunakan UTC. Hal yang sama berlaku untuk penelusuran yang menggunakan today.