Bahasa Kueri Penelusuran

Bahasa kueri penelusuran adalah sintaksis yang Anda gunakan untuk melakukan penelusuran masalah di Google Issue Tracker. Anda dapat menggunakan bahasa dalam kueri penelusuran yang dimasukkan di bilah pencarian. Anda juga dapat menggunakan builder penelusuran untuk memilih kriteria secara grafis, yang kemudian dikonversi menjadi bahasa kueri saat builder penelusuran 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 dianggap menggunakan operator logika, tanda kurung, dan tanda kutip.

Penelusuran kata kunci

Kata kunci adalah string teks yang dapat Anda gunakan untuk menelusuri kolom tertentu dalam masalah. Kolom tersebut 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. Jika Anda memasukkan kriteria ini dalam penelusuran, Issue Tracker secara global akan menelusuri masalah di semua komponen dan menampilkan masalah yang kolom di atasnya berisi kedua kata kunci, seperti yang diatur oleh izin kontrol akses Anda. Kata kunci mungkin berada di {i>field<i} yang berbeda atau {i>field <i}yang sama.

Issue Tracker memperlakukan karakter ruang yang memisahkan kriteria penelusuran sebagai operator AND implisit. Anda dapat menggunakan tanda kutip (") untuk menentukan bahwa string yang terdiri dari beberapa kata akan dianggap sebagai satu kata kunci. Semua penelusuran di Issue Tracker tidak peka huruf besar/kecil, baik 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, jenis kolom ini cocok dengan masalah yang nilai kolomnya setara.

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

Perhatikan bahwa untuk kolom waktu dan jumlah, Anda dapat menggunakan simbol relasional lainnya selain karakter titik dua. Lihat operator relasional di bawah.

Penelusuran nilai khusus menggunakan salah satu dan tidak sama sekali

Kolom opsional dapat dikueri dengan nilai khusus any dan none. any cocok dengan nilai non-null. 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 kriteria. Seperti disebutkan di atas, karakter spasi di luar tanda kutip berfungsi 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 tersebut 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 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 mendahului nama kolom atau nilai kolom. Ini berarti -assignee:jim dan assignee:-jim setara.

  • Gunakan tanda kurung bebas untuk mengelompokkan istilah dalam kueri penelusuran dengan jelas. Secara default, Issue Tracker mengaitkan NOT dengan istilah yang persis mengikutinya dan mengelompokkan OR dengan dua istilah yang mengelompokkannya. 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 yang mendahului 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 oleh karakter tanda hubung sebagai diapit oleh tanda kutip. Misalnya, kriteria penelusuran state-of-the-art setara dengan "state of the art".

  • Issue Tracker memperlakukan kata yang menggunakan tanda hubung dalam kolom masalah sebagai kata independen yang dipisahkan oleh spasi kosong. Artinya, jika masalah memiliki kata state-of-the-art dalam judulnya dan Anda mengeksekusi 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 (:) menetapkan bahwa kolom tertentu harus sama dengan atau berisi nilai yang ditentukan agar masalah dapat 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/sebelum nilai penelusuran Anda.
<= Mencocokkan masalah jika nilainya kurang dari/sebelum atau sama dengan nilai penelusuran Anda.
> Mencocokkan masalah jika nilainya lebih besar dari/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 format 24 jam, [mm] adalah menit, dan [ss] adalah menit kedua. Semua waktu dalam UTC.

Anda dapat memberikan tingkat kekhususan yang diinginkan 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 informasi lebih spesifik, Anda dapat menelusuri created:2014-06-03T04 guna menemukan masalah yang dibuat pada 3 Juni 2014 pada jam ke-4 (antara pukul 04.00-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 waktu berakhir dapat memiliki tingkat kekhususan apa pun 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 di masa lalu 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. Fungsi 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 akan 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

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