검색어 언어

검색 쿼리 언어는 Google Issue Tracker에서 문제 검색을 실행하는 데 사용하는 문법입니다. 검색창에 입력하는 검색어에 언어를 사용할 수 있습니다. 고급 검색 도구를 사용하여 기준을 그래픽으로 선택할 수도 있습니다. 이 경우 고급 검색 도구를 닫으면 기준이 쿼리 언어로 변환됩니다.

쿼리 언어를 사용하면 다음 기준으로 검색할 수 있습니다.

  • 키워드
  • 필드:값 쌍

검색 시 키워드와 필드:값 쌍의 조합을 비롯한 여러 기준을 포함할 수 있습니다. 쿼리 언어 문법을 사용하면 논리 연산자, 괄호, 따옴표를 사용하여 기준이 고려되는 관계와 순서를 지정할 수 있습니다.

키워드 검색

키워드는 문제의 특정 입력란에서 검색하는 데 사용할 수 있는 텍스트 문자열입니다. 이러한 필드는 다음과 같습니다.

  • 제목
  • 댓글
  • 첨부파일 이름
  • 사용자가 포함된 필드 (예: Assignee 또는 CC)
  • 내부 ID 번호가 포함된 필드 (예: 문제의 구성요소 또는 핫리스트를 지정하는 필드)
  • 버전 번호가 포함된 필드
  • 맞춤 필드

키워드 검색 기준의 예는 문자열 configuration properties입니다. 검색에 이 기준을 입력하면 Issue Tracker는 모든 구성요소에서 전 세계적으로 문제를 검색하고 액세스 제어 권한에 따라 필드에 두 키워드가 모두 포함된 문제를 반환합니다. 키워드는 서로 다른 필드에 있거나 동일한 필드에 있을 수 있습니다.

키워드는 일부 기본 동의어와도 일치하므로 property를 검색하면 properties라는 단어가 포함된 버그도 추가로 발견될 수 있습니다. 그렇지 않으면 검색어를 하위 문자열로 취급하지 않고 전체 단어 토큰에만 일치시킵니다.

대부분의 특수문자는 검색을 실행하기 전에 키워드에서 삭제됩니다. 예를 들어 my-query_text와 같은 쿼리는 토큰 myquery_text로 분할되고 두 토큰과 일치하는 버그를 반환합니다.

Issue Tracker는 검색 기준을 구분하는 공백 문자를 암시적 AND 연산자로 취급합니다. 따옴표 (")를 사용하여 여러 단어로 구성된 문자열을 단일 키워드로 간주하도록 지정할 수 있습니다. Issue Tracker의 모든 검색은 따옴표 사용 여부와 관계없이 대소문자를 구분하지 않습니다.

필드:값 쌍 검색

검색 기준을 필드:값 쌍으로 지정할 수도 있습니다. 기본 문법은 [field]:[value]입니다. 텍스트 필드의 경우 이 구문은 지정된 필드에 값이 포함된 문제를 일치시킵니다. 다른 유형의 필드의 경우 필드 값이 상응하는 문제를 일치시킵니다.

예를 들어 title:latency를 검색하면 제목 입력란에 latency라는 단어가 포함된 문제가 검색됩니다. priority:p0를 검색하면 우선순위가 p0인 문제가 표시됩니다.

인식할 수 없는 필드는 키워드 검색으로 해석됩니다.

시간 및 개수 필드의 경우 콜론 문자 외에도 다른 관계 기호를 사용할 수 있습니다. 관계 연산자를 참고하세요.

any 및 none을 사용하는 특수 값 검색

선택적 필드는 특수 값 anynone으로 쿼리할 수 있습니다. any는 null이 아닌 모든 값과 일치합니다. none는 null 값과 일치합니다. 검색 쿼리 언어에서 지원되는 모든 필드 라벨 목록은 검색 쿼리 참조를 참고하세요.

논리 연산자

논리 연산자를 사용하면 두 개 이상의 기준을 지정하고 그 사이의 관계를 나타낼 수 있습니다. 따옴표 외부의 공백 문자는 암시적 AND 연산자로 작동합니다. Issue Tracker는 다음과 같은 추가 명시적 논리 연산자를 지원합니다.

연산자 대체 기호 설명
AND {whitespace} 문제에 두 가지 기준이 모두 포함된 경우 일치 star:true AND componentid:46046
또는 | 다음과 일치하는 경우 `type:(Bug

: : : 문제에 : : : : : 다음 중 하나가 : : : : : 포함됩니다. : : | NOT | - | 문제에 | -assignee:jim | : : : 기준이 : : : : : 포함되지 : : : : : 않습니다. : : | "..." | | 문제에 : : : : : 따옴표로 묶인 : : : : : 구문 (따옴표 안의 : : : : : 단어가 동일한 : : : : : 순서로 표시됨)이 : : : : : 포함됩니다. : : | ( ) | | 값을 그룹화합니다. | status:open AND | : : : or search : (priority\:(p0|p1) OR : : : : criteria : severity\:(s0|s1)) : : : : 함께 : :comment:"We have a problem"

다음에 유의하세요.

  • AND, OR, NOT에는 모두 대문자를 사용해야 합니다.

  • NOT 연산자는 필드 이름 앞에 오는지 필드 값 앞에 오는지에 관계없이 동일한 의미를 갖습니다. 즉, -assignee:jimassignee:-jim는 동일합니다.

  • 괄호를 사용하여 검색어를 명확하게 그룹화합니다. 기본적으로 Issue Tracker는 NOT를 바로 뒤에 오는 용어와만 연결하고 OR를 괄호로 묶은 두 용어와 그룹화합니다. 예를 들어 검색어 title:(a OR b NOT c AND d)title:((a OR b) AND (NOT c) AND d)와 동일합니다.

대시

대시 문자 (-)는 검색어의 컨텍스트에 따라 다른 의미를 갖습니다.

  • Issue Tracker는 검색에서 단어 앞에 오는 대시를 NOT 연산자로 취급합니다. 예를 들어 검색 기준 -assignee:none 또는 assignee:-none는 담당자가 있는 모든 문제를 반환합니다.

  • Issue Tracker는 대시 문자로 연결된 문자열을 따옴표로 묶인 것으로 취급합니다. 예를 들어 검색 기준 state-of-the-art"state of the art"와 동일합니다.

  • Issue Tracker는 문제 필드에서 하이픈이 있는 단어를 공백으로 구분된 독립된 단어로 취급합니다. 즉, 문제의 제목에 state-of-the-art라는 단어가 포함되어 있고 검색어 title:(of art state the) 또는 title:("state of the art")를 실행하면 문제가 검색 결과의 일부로 반환됩니다.

관계 연산자

field:value 검색 기준의 기본 문법은 [field]:[value]입니다. 여기서 콜론 문자 (:)는 검색 결과에 문제가 반환되려면 지정된 필드가 지정된 값과 같거나 지정된 값을 포함해야 함을 지정합니다.

시간 값 (created, modified, resolved, verified 및 특정 맞춤 필드) 또는 개수 값 (duplicatecount, votecount, commentcount, cccount)이 포함된 필드는 다음과 같은 추가 관계 연산자를 지원합니다.

기호 설명
< 값이 검색 값보다 작거나 그보다 앞선 경우 문제와 일치합니다.
<= 값이 검색 값보다 작거나, 검색 값 앞에 있거나, 검색 값과 같은 경우 문제와 일치합니다.
> 값이 검색 값보다 크거나 그 뒤에 오는 경우 문제와 일치합니다.
>= 값이 검색 값보다 크거나, 검색 값 뒤에 있거나, 검색 값과 같은 경우 문제와 일치합니다.

시간 검색

검색 쿼리 언어는 시간 값이 포함된 필드를 일치시키기 위한 특수 문법을 제공합니다. 이렇게 하면 Issue Tracker에서 필요에 따라 일정 기간 또는 상대 시간을 검색할 수 있습니다.

절대 시간 형식

시간을 지정하는 형식은 다음과 같습니다.

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

이 형식에서 [yyyy]는 4자리 연도, [MM]는 2자리 월, [dd]는 2자리 일, [HH]는 24시간제의 2자리 시간, [mm]는 분, [ss]는 초입니다. 날짜 및 시간 설정에서 다른 시간대를 선택한 경우에도 검색의 모든 시간은 UTC로 해석됩니다.

특정 시간에 생성되거나 특정 시간 이전 또는 이후에 생성된 문제를 검색할 때 세부 수준을 지정할 수 있습니다. 예를 들어 created:2014-06를 지정하여 2014년 6월에 생성된 문제를 찾을 수 있습니다. 더 구체적으로 created:2014-06-03T04를 검색하여 2014년 6월 3일 4시 (오전 4시~5시, UTC)에 생성된 문제를 찾을 수 있습니다.

기간

두 개의 마침표 문자 (..)를 사용하여 필드:값 검색 기준에서 기간을 지정할 수 있습니다. 구문은 [field]:[start time]..[end time]입니다. 시작 시간과 종료 시간은 원하는 만큼 구체적으로 지정할 수 있습니다. 예를 들어 verified:2013..2015는 2013년, 2014년 또는 2015년에 확인된 모든 문제를 반환합니다.

상대 시간 형식

오늘로부터 몇 일 전이라는 식으로 시간을 지정할 수도 있습니다. 이렇게 하려면 [days]d 형식을 사용합니다. 여기서 [days]은 검색 결과에 포함할 이전 일 수를 나타냅니다. 예를 들어 modified:5d를 사용하여 지난 5일 동안 수정된 문제를 찾을 수 있습니다.

상대 시간 형식을 사용할 때는 연산자가 created:5d와 같은 콜론 문자(:)여야 합니다. 범위에 해당하지 않는 문제를 찾으려면 NOT 또는 - 연산자를 사용하면 됩니다.

예를 들어 -verified:10d은 지난 10일 동안 확인되지 않은 문제를 반환합니다. 확인되었지만 지난 10일 동안 신고되지 않은 문제를 찾으려면 (-verified:10d) AND status:verified를 사용하세요.

일 수 산술을 사용한 '오늘' 검색

시간 검색에서 today 토큰을 현재 날짜 대신 사용할 수 있습니다. today+10today-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

주의: 절대 시간 형식에 언급된 대로 Issue Tracker의 시간 검색은 UTC 기준입니다. today를 사용하는 검색에도 동일하게 적용됩니다.