Ngôn ngữ truy vấn tìm kiếm

Ngôn ngữ truy vấn tìm kiếm là cú pháp bạn sử dụng để tìm kiếm vấn đề trong Công cụ theo dõi lỗi của Google. Bạn có thể sử dụng ngôn ngữ trong cụm từ tìm kiếm mà bạn nhập vào thanh tìm kiếm. Bạn cũng có thể sử dụng trình tạo nội dung tìm kiếm để chọn tiêu chí bằng hình ảnh. Sau đó, tiêu chí này sẽ được chuyển đổi thành ngôn ngữ truy vấn khi trình tạo nội dung tìm kiếm đóng.

Ngôn ngữ truy vấn cho phép bạn tìm kiếm theo các tiêu chí sau:

  • Từ khóa
  • Cặp trường:giá trị

Các lượt tìm kiếm mà bạn thực hiện có thể chứa nhiều tiêu chí, bao gồm cả tổ hợp từ khoá và cặp trường:giá trị. Cú pháp ngôn ngữ truy vấn cho phép bạn chỉ định mối quan hệ và thứ tự xem xét các tiêu chí bằng cách sử dụng toán tử logic, dấu ngoặc đơn và dấu ngoặc kép.

Tìm kiếm bằng từ khoá

Từ khoá là các chuỗi văn bản mà bạn có thể dùng để tìm kiếm trên một số trường nhất định trong các vấn đề. Các trường này là:

  • Tiêu đề
  • Bình luận
  • Tên tệp đính kèm
  • Các trường chứa người dùng (ví dụ: Người được giao hoặc CC)
  • Các trường chứa mã nhận dạng nội bộ (ví dụ: các trường chỉ định thành phần hoặc danh sách ưu tiên chứa vấn đề)
  • Các trường chứa số phiên bản
  • Trường tuỳ chỉnh

Ví dụ về tiêu chí tìm kiếm từ khoá là chuỗi configuration properties. Khi bạn nhập tiêu chí này trong một lượt tìm kiếm, Trình theo dõi lỗi sẽ tìm kiếm các lỗi trên toàn bộ các thành phần và trả về những lỗi có trường chứa cả hai từ khoá, theo quyền kiểm soát quyền truy cập của bạn. Các từ khoá có thể nằm trong nhiều trường hoặc cùng một trường.

Từ khoá cũng sẽ khớp với một số từ đồng nghĩa cơ bản, vì vậy, việc tìm kiếm property có thể tìm thấy một lỗi chứa từ properties. Nếu không, các cụm từ tìm kiếm sẽ chỉ khớp với các mã thông báo từ đầy đủ, thay vì coi truy vấn là một chuỗi con.

Hầu hết các ký tự đặc biệt đều bị xoá khỏi từ khoá trước khi thực hiện tìm kiếm. Ví dụ: một truy vấn như my-query_text sẽ được chia thành các mã thông báo myquery_text, đồng thời trả về các lỗi khớp với cả hai mã thông báo.

Trình theo dõi lỗi coi ký tự khoảng trắng phân tách tiêu chí tìm kiếm là một toán tử AND ngầm ẩn. Bạn có thể sử dụng dấu ngoặc kép (") để chỉ định rằng một chuỗi nhiều từ sẽ được coi là một từ khoá duy nhất. Tất cả nội dung tìm kiếm trong Công cụ theo dõi lỗi đều không phân biệt chữ hoa chữ thường, cho dù bạn có sử dụng dấu ngoặc kép hay không.

Tìm kiếm cặp trường:giá trị

Bạn cũng có thể chỉ định tiêu chí tìm kiếm dưới dạng cặp trường:giá trị. Cú pháp cơ sở là [field]:[value]. Đối với trường văn bản, cú pháp này so khớp các vấn đề trong đó trường được chỉ định chứa giá trị. Đối với các loại trường khác, điều kiện này sẽ so khớp với các vấn đề mà giá trị trường là tương đương.

Ví dụ: nội dung tìm kiếm title:latency sẽ khớp với các vấn đề có từ latency trong trường Tiêu đề. Khi tìm kiếm priority:p0, bạn sẽ thấy các vấn đề có mức độ ưu tiên là p0.

Mọi trường không được nhận dạng sẽ được diễn giải là tìm kiếm bằng từ khoá.

Xin lưu ý rằng đối với các trường thời gian và số lượng, bạn có thể sử dụng các ký hiệu quy chiếu khác ngoài ký tự dấu hai chấm. Xem phần Toán tử quy chiếu.

Tìm kiếm giá trị đặc biệt bằng bất kỳ và không có

Bạn có thể truy vấn các trường không bắt buộc bằng các giá trị đặc biệt anynone. any khớp với mọi giá trị không rỗng. none khớp với giá trị rỗng. Để biết danh sách tất cả nhãn trường được hỗ trợ bằng ngôn ngữ cụm từ tìm kiếm, hãy xem Tài liệu tham khảo về cụm từ tìm kiếm.

Toán tử logic

Toán tử logic cho phép bạn chỉ định nhiều tiêu chí và cho biết mối quan hệ giữa các tiêu chí đó. Các ký tự dấu cách bên ngoài dấu ngoặc kép đóng vai trò là toán tử AND ngầm ẩn. Trình theo dõi lỗi hỗ trợ các toán tử logic rõ ràng bổ sung sau:

Đơn vị tổ chức Ký hiệu thay thế Mô tả Ví dụ:
{whitespace} Khớp nếu vấn đề chứa cả hai tiêu chí star:true AND componentid:46046
HOẶC | Khớp nếu vấn đề chứa một trong hai tiêu chí type:(Bug|feature_request)
KHÔNG - Khớp nếu vấn đề không chứa tiêu chí -assignee:jim
"..." Khớp nếu vấn đề chứa một cụm từ được trích dẫn (các từ trong trích dẫn xuất hiện theo cùng một thứ tự) comment:"We have a problem"
( ) Nhóm các giá trị hoặc tiêu chí tìm kiếm lại với nhau status:open AND (priority:(p0|p1) OR severity:(s0|s1))

Xin lưu ý những điều sau:

  • Bạn phải viết hoa tất cả chữ cái cho AND, ORNOT.

  • Toán tử NOT có cùng ý nghĩa cho dù đứng trước tên trường hay giá trị trường. Điều này có nghĩa là -assignee:jimassignee:-jim tương đương nhau.

  • Sử dụng dấu ngoặc đơn để nhóm các cụm từ trong cụm từ tìm kiếm một cách rõ ràng. Theo mặc định, Trình theo dõi lỗi chỉ liên kết NOT với thuật ngữ ngay sau đó và nhóm OR với hai thuật ngữ đóng khung nó. Ví dụ: truy vấn tìm kiếm title:(a OR b NOT c AND d) tương đương với title:((a OR b) AND (NOT c) AND d).

Vạch thẳng

Dấu gạch ngang (-) có nhiều ý nghĩa khác nhau dựa trên ngữ cảnh trong truy vấn tìm kiếm:

  • Trình theo dõi lỗi coi dấu gạch ngang đứng trước một từ trong nội dung tìm kiếm là toán tử NOT. Ví dụ: tiêu chí tìm kiếm -assignee:none hoặc assignee:-none sẽ trả về tất cả các vấn đề có người được giao.

  • Trình theo dõi lỗi coi các chuỗi được kết nối bằng ký tự dấu gạch ngang là được đặt trong dấu ngoặc kép. Ví dụ: tiêu chí tìm kiếm state-of-the-art tương đương với "state of the art".

  • Trình theo dõi lỗi coi các từ được nối bằng dấu gạch nối trong trường lỗi là các từ độc lập được phân tách bằng khoảng trắng. Điều này có nghĩa là nếu một vấn đề có từ state-of-the-art trong tiêu đề và bạn thực thi cụm từ tìm kiếm title:(of art state the) hoặc title:("state of the art"), thì vấn đề đó sẽ được trả về trong kết quả tìm kiếm.

Toán tử quy chiếu

Cú pháp cơ sở cho tiêu chí tìm kiếm trường:giá trị là [field]:[value], trong đó ký tự dấu hai chấm (:) chỉ định rằng trường nhất định phải bằng hoặc chứa giá trị đã chỉ định để một vấn đề được trả về trong kết quả tìm kiếm.

Các trường chứa giá trị thời gian (created, modified, resolved, verified và một số trường tuỳ chỉnh nhất định) hoặc giá trị số lượng (duplicatecount, votecount, commentcountcccount) hỗ trợ các toán tử quy chiếu bổ sung sau:

Biểu tượng Mô tả
< Khớp với một vấn đề nếu giá trị của vấn đề đó nhỏ hơn hoặc trước giá trị tìm kiếm của bạn.
<= Khớp với một vấn đề nếu giá trị của vấn đề đó nhỏ hơn, trước hoặc bằng giá trị tìm kiếm của bạn.
> So khớp với một vấn đề nếu giá trị của vấn đề đó lớn hơn hoặc sau giá trị tìm kiếm của bạn.
>= Khớp với một vấn đề nếu giá trị của vấn đề đó lớn hơn, sau hoặc bằng giá trị tìm kiếm của bạn.

Nội dung tìm kiếm theo thời gian

Ngôn ngữ truy vấn tìm kiếm cung cấp cú pháp đặc biệt để so khớp các trường chứa giá trị thời gian. Điều này cho phép Trình theo dõi lỗi tìm kiếm trong một phạm vi thời gian hoặc thời gian tương đối nếu cần.

Định dạng thời gian tuyệt đối

Định dạng để chỉ định thời gian là:

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

Trong định dạng này, [yyyy] là năm gồm 4 chữ số, [MM] là tháng gồm 2 chữ số, [dd] là ngày gồm 2 chữ số, [HH] là giờ gồm 2 chữ số của đồng hồ 24 giờ, [mm] là phút và [ss] là giây. Tất cả thời gian trong nội dung tìm kiếm đều được diễn giải là giờ UTC, ngay cả khi bạn đã chọn một múi giờ khác trong phần cài đặt ngày và giờ.

Bạn có thể cung cấp mức độ cụ thể khi tìm kiếm các vấn đề được tạo tại, trước hoặc sau một thời điểm nhất định. Ví dụ: bạn có thể chỉ định created:2014-06 để tìm các vấn đề được tạo bất cứ lúc nào trong tháng 6 năm 2014. Để biết thông tin cụ thể hơn, bạn có thể tìm kiếm created:2014-06-03T04 để tìm các vấn đề được tạo vào ngày 3 tháng 6 năm 2014 trong giờ thứ 4 (từ 4 đến 5 giờ sáng, theo giờ UTC).

Phạm vi thời gian

Bạn có thể sử dụng hai ký tự dấu chấm (..) để chỉ định một khoảng thời gian trong tiêu chí tìm kiếm trường:giá trị. Cú pháp là [field]:[start time]..[end time]. Thời gian bắt đầu và kết thúc có thể có mức độ cụ thể bất kỳ mà bạn yêu cầu. Ví dụ: verified:2013..2015 trả về tất cả vấn đề được xác minh vào năm 2013, 2014 hoặc 2015.

Định dạng thời gian tương đối

Bạn cũng có thể chỉ định thời gian theo số ngày trước hôm nay. Để làm như vậy, hãy sử dụng định dạng [days]d, trong đó [days] là số ngày trong quá khứ mà bạn muốn đưa vào kết quả tìm kiếm. Ví dụ: bạn có thể sử dụng modified:5d để tìm các vấn đề đã được sửa đổi trong 5 ngày qua.

Khi sử dụng định dạng thời gian tương đối, toán tử phải là ký tự dấu hai chấm (:) như created:5d. Nếu muốn tìm các vấn đề không thuộc phạm vi, bạn có thể sử dụng toán tử NOT hoặc -.

Ví dụ: -verified:10d trả về các vấn đề chưa được xác minh trong 10 ngày qua. Nếu muốn tìm các vấn đề đã được xác minh nhưng không phải trong 10 ngày qua, bạn có thể sử dụng (-verified:10d) AND status:verified.

Lượt tìm kiếm "Hôm nay" có phép tính ngày

Bạn có thể sử dụng mã thông báo today trong các lượt tìm kiếm theo thời gian để thay thế cho ngày hiện tại. Thư viện này hỗ trợ việc sử dụng phép tính ngày như today+10today-2. Bạn cũng có thể sử dụng mã thông báo today với các phạm vi thời gian như today-2..today+3. Việc sử dụng mã thông báo today trong lượt tìm kiếm đã lưu giúp bạn có thể sử dụng lại truy vấn.

Ví dụ:

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

Lưu ý: Như đã đề cập trong phần định dạng thời gian tuyệt đối, các nội dung tìm kiếm về thời gian trong Công cụ theo dõi lỗi đều theo giờ UTC. Điều này cũng áp dụng cho các nội dung tìm kiếm sử dụng today.