Язык поисковых запросов

Язык поисковых запросов — это синтаксис, который вы используете для поиска проблем в Google Issue Tracker. Вы можете использовать язык в поисковых запросах, которые вводите в строку поиска. Вы также можете использовать построитель поиска для графического выбора критериев, которые затем преобразуются в язык запросов при закрытии построителя поиска.

Язык запросов позволяет осуществлять поиск по следующим критериям:

  • Ключевые слова
  • Пары поле/значение

Выполняемые вами поисковые запросы могут содержать несколько критериев, включая комбинацию ключевых слов и пар поле/значение. Синтаксис языка запросов позволяет указать связь и порядок рассмотрения критериев с помощью логических операторов , круглых скобок и кавычек.

Поиск по ключевым словам

Ключевые слова — это текстовые строки, которые вы можете использовать для поиска по определенным полям в задачах. Эти поля:

  • Заголовок
  • Комментарии
  • Названия вложений
  • Поля, содержащие пользователей (например, Правопреемник или CC ).
  • Поля, содержащие внутренний идентификационный номер (например, те, которые указывают компонент или горячие списки, содержащие проблему)
  • Поля, содержащие номера версий
  • Настраиваемые поля

Примером критериев поиска по ключевым словам являются configuration properties строки. Когда вы вводите этот критерий в поиск, Issue Tracker глобально ищет проблемы во всех компонентах и ​​возвращает те, чьи поля выше содержат оба ключевых слова, в соответствии с вашими разрешениями на управление доступом. Ключевые слова могут находиться в разных полях или в одних и тех же полях.

Issue Tracker рассматривает пробел, разделяющий критерии поиска, как неявный оператор AND . Вы можете использовать кавычки ( " ), чтобы указать, что строка, состоящая из нескольких слов, должна рассматриваться как одно ключевое слово. Все поисковые запросы в Issue Tracker не учитывают регистр, независимо от того, используете ли вы кавычки или нет.

Поиск пар поле/значение

Вы также можете указать критерии поиска в виде пары поле/значение. Базовый синтаксис: [field]:[value] . Для текстовых полей этот синтаксис соответствует проблемам, когда указанное поле содержит значение. Для других типов полей он соответствует проблемам, в которых значение поля эквивалентно .

Например, поиск по запросу title:latency соответствует проблемам со словом latency в поле Title . Поиск priority:p0 находит проблемы с приоритетом p0 .

Обратите внимание, что для полей времени и количества помимо символа двоеточия можно использовать и другие реляционные символы. См. раздел «Операторы отношения» ниже.

Поиск специальных значений с использованием Any и None

Необязательные поля могут быть запрошены со специальными значениями any и none . any соответствует любому значению, отличному от NULL. none не соответствует нулевым значениям. Список всех поддерживаемых меток полей на языке поисковых запросов см. в Справочнике по поисковым запросам .

Логические операторы

Логические операторы позволяют указать более одного критерия и указать связь между ними. Как отмечалось выше, символы пробела вне кавычек действуют как неявные операторы AND Issue Tracker поддерживает следующие дополнительные явные логические операторы:

Оператор Альтернативный символ Описание Пример
И {пробел} Соответствует, если задача содержит оба критерия star:true AND componentid:46046
ИЛИ | Соответствует, если задача содержит любой критерий type:(Bug|feature_request)
НЕТ - Соответствует, если задача не содержит критериев -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 эквивалентны.

  • Используйте круглые скобки, чтобы четко сгруппировать термины в поисковом запросе. По умолчанию 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 возвращают все задачи, у которых есть правопреемник.

  • Система отслеживания проблем рассматривает строки, соединенные тире, как заключенные в кавычки. Например, критерий поиска 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] , где символ двоеточия ( : ) указывает, что данное поле должно быть равно или содержать указанное значение, чтобы проблема была возвращена в результаты поиска.

Поля, которые содержат значение времени ( created , modified , resolved , verified и некоторые настраиваемые поля) или значение счетчика ( duplicatecount , votecount , commentcount и cccount ), поддерживают следующие дополнительные операторы отношений:

Символ Описание
< Соответствует проблеме, если ее значение меньше или меньше вашего значения поиска.
<= Соответствует проблеме, если ее значение меньше/раньше или равно значению вашего поиска.
> Соответствует проблеме, если ее значение больше или после вашего значения поиска.
>= Соответствует проблеме, если ее значение больше/после или равно значению вашего поиска.

Поиск по времени

Язык поисковых запросов предоставляет специальный синтаксис для сопоставления полей, содержащих значение времени. Это позволяет системе отслеживания проблем выполнять поиск в определенном диапазоне времени или относительном времени по мере необходимости.

Абсолютный формат времени

Формат указания времени:

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

В этом формате [yyyy] — год из 4 цифр, [MM] — месяц из 2 цифр, [dd] — день из 2 цифр, [HH] — час из 2 цифр в 24-часовом формате, [mm] — минуты, а [ss] — секунды. Все время указано в формате UTC.

Вы можете указать желаемый уровень детализации при поиске задач, созданных в определенное время, до или после него. Например, вы можете указать « created:2014-06-03T04 created:2014-06 », чтобы найти задачи, созданные в любое время в июне 2014 г. 4-й час (между 4 и 5 часами утра по всемирному координированному времени).

Временные диапазоны

Вы можете использовать два символа точки ( .. ), чтобы указать диапазон времени в критериях поиска поля/значения. Синтаксис: [field]:[start time]..[end time] . Время начала и окончания может иметь любую необходимую вам степень детализации. Например, verified:2013..2015 возвращает все проблемы, проверенные в 2013, 2014 или 2015 годах.

Относительный формат времени

Вы также можете указать время в днях до сегодняшнего дня. Для этого используйте формат [days]d , где [days] — количество дней в прошлом, которое вы хотите включить в результаты поиска. Например, вы можете использовать modified:5d чтобы найти проблемы, измененные за последние пять дней.

При использовании относительного формата времени оператором должен быть символ двоеточия ( : ), например created:5d . Если вы хотите найти проблемы, которые не попадают в этот диапазон, вы можете использовать оператор NOT или - .

Например, -verified:10d возвращает проблемы, которые не были проверены за последние 10 дней. Если вы хотите найти проблемы, которые были проверены, но не за последние 10 дней, вы можете использовать (-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

Предостережение: как уже упоминалось в формате абсолютного времени , поиск по времени в Issue Tracker осуществляется в формате UTC. То же самое относится и к поискам, которые используются today .