

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 CodeCatalyst 中搜索代码、事务、项目和用户
<a name="search"></a>

在 CodeCatalyst 中使用搜索栏或专用搜索结果窗口来搜索代码、事务、项目和用户。

您可以通过在搜索栏中输入名称、描述和状态等查询来在空间和项目中查找资源。您也可以使用搜索查询语言来细化搜索查询。

**Topics**
+ [细化搜索查询](#search-query-language-examples)
+ [使用搜索时的注意事项](#search-tips-troubleshooting)
+ [可搜索字段参考](#search-query-language-searchable-fields)

**搜索**

1. 在顶部导航栏中的搜索栏中，输入搜索查询。

1. （可选）使用 CodeCatalyst 的搜索查询语言来细化您的搜索查询。有关更多信息，请参阅[细化搜索查询](#search-query-language-examples)。

1. 请执行以下操作之一：
   + 要在您当前所在的项目中搜索资源，请选择**此项目**。
   + 要在您当前所在的空间中的所有项目中搜索资源，请选择**此空间**。

1. 通过执行下列操作之一，在专用的搜索结果窗口中查看搜索结果：
   + 在快速搜索结果窗口的底部，选择**在 project-name \$1 space-name 中查看所有结果**以查看所有搜索结果。
   + 按 **Enter** 以查看所有搜索结果。

**提示**  
在拉取请求评论或描述中或在事务评论或描述中提及其他项目用户，方法是使用 @ 符号后跟这些用户的显示名称或用户名。您还可以链接到事务或代码文件等资源，方法是使用 @ 符号后跟事务或代码文件的名称。

## 细化搜索查询
<a name="search-query-language-examples"></a>

如果通过搜索找不到要查找的内容，则可以使用 CodeCatalyst 的专用查询语言来细化搜索。单个字段没有字符限制，但整个查询的长度不得超过 1024 个字符。

**Topics**
+ [按类型细化](#search-query-language-type-search)
+ [按字段细化](#search-query-language-field-search)
+ [使用布尔运算符进行细化](#search-query-language-boolean-search)
+ [按项目细化](#search-query-language-project-search)

### 按类型细化
<a name="search-query-language-type-search"></a>

要将搜索范围细化到特定类型的信息，请在搜索中包含 `type:result-type`，其中 *result-type* 为 `code`、`issue`、`project` 或 `user`。

示例：
+ `type:code AND java` – 在包含“java”的与代码相关的字段中显示代码结果。

  有关更多信息，请参阅 [代码字段](#search-query-language-type-code)。
+ `type:issue AND Bug` – 在包含“Bug”的与事务相关的字段中显示事务结果。

  有关更多信息，请参阅 [事务字段](#search-query-language-type-issue)。
+ `type:user AND MaryMajor` – 在包含“MaryMajor”的与用户相关的字段中显示用户结果。

  有关更多信息，请参阅 [用户字段](#search-query-language-type-user)。
+ `type:project AND Datafeeder` – 显示包含“Datafeeder”的项目结果。

  有关更多信息，请参阅 [项目字段](#search-query-language-type-project)。

### 按字段细化
<a name="search-query-language-field-search"></a>

要将搜索范围细化到特定字段，请在搜索中包含 `field-name:query`，其中 *field-name* 为 `title`、`username`、`project`、`description` 等，*query* 为要搜索的文本。有关字段的列表，请参阅[可搜索字段参考](#search-query-language-searchable-fields)。您可以使用圆括号搜索多个查询。

示例：
+ `title:bug` – 显示标题包含“bug”的结果。
+ `username:John` – 显示用户名包含“John”的结果。
+ `project:DataFeeder` – 显示项目包含“DataFeeder”的结果。查询不区分大小写。
+ `description:overview` – 显示描述包含“overview”的结果。

### 使用布尔运算符进行细化
<a name="search-query-language-boolean-search"></a>

要指定针对搜索短语的限制，可以使用布尔运算符 `AND`、`OR` 和 `NOT`。如果您列出了多个短语，默认情况下，CodeCatalyst 会使用 `OR` 联接它们。您可以使用圆括号对搜索短语进行分组。
+ `exception AND type:code` – 仅显示“exception”的代码结果。
+ `path:README.md AND repo:ServerlessAPI` – 显示带“README.md”的路径的结果，其中存储库名为“ServerlessAPI”。
+ `buildspec.yml AND (repo:ServerlessAPI OR ServerlessWebApp)` – 显示“buildspec.yml”的结果，其中存储库为“ServerlessAPI”或“ServerlessWebApp”。
+ `path:java NOT (path:py OR path:ts)` – 显示路径包含“java”但不包含“py”或“ts”的结果。

### 按项目细化
<a name="search-query-language-project-search"></a>

要将搜索范围细化到特定项目，请在搜索中包含 `project:name AND query`，其中 *name* 为要在其中搜索的项目，*query* 为要搜索的内容。
+ `project:name AND query` – 显示路径包含查询和项目名称的结果。

## 使用搜索时的注意事项
<a name="search-tips-troubleshooting"></a>

**延迟的内容更新** – 内容更新（例如，名称更改或事务重新分配）可能需要几分钟才能反映在搜索结果中。大型更新（例如代码库迁移）可能需要更长的时间才能显示在搜索结果中。

**对特殊字符进行转义** – 在搜索查询中，需要特别注意以下特殊字符：`+ - & & || ! ( ) { } [ ] ^ " ~ * ? : \`。特殊字符不会影响查询，您必须将其移除或对其进行转义。要对字符进行转义，请在字符前面添加反斜杠（\$1）。例如，搜索查询 [Feature] 应为 Feature 或 \$1[Feature\$1]。

**缩小搜索范围** – 搜索不区分大小写。采用全小写字母形式进行搜索可防止查询在大小写变化时拆分单词。例如，要查询 `MyService` 和仅查询 `MyService`，请考虑查询 `myservice` 以避免出现仅包含 `my` 或 `service` 的结果。

默认情况下，搜索使用连词 OR 来联接单词和单词的某个部分。例如，`new function` 可以返回同时包含 `new` 和 `function` 的结果，也可以返回仅包含 `new` 或 `function` 的结果。要避免出现后一种情况，可使用 `AND` 组合多个单词。例如，您可以搜索 `new AND function`。

**默认分支** – 搜索将仅返回源存储库默认分支上的最新提交中的代码结果。要在其他分支或提交上查找代码，可以考虑[本地克隆存储库](source-repositories-clone.md)、[在开发环境中打开分支](devenvironment-create.md)或[在 CodeCatalyst UI 中查看分支和详细信息](source-branches-view.md)。如果更改默认分支，则会更新可通过搜索发现的文件。有关更多信息，请参阅 [管理存储库的默认分支](source-branches-default-branch.md)。

**重要**  
CodeCatalyst 不支持检测已链接存储库的默认分支中的更改。要更改已链接存储库的默认分支，您必须先取消该存储库与 CodeCatalyst 的链接，更改默认分支，然后重新链接该存储库。有关更多信息，请参阅 [在中关联 GitHub 存储库、Bitbucket 存储库、 GitLab 项目存储库和 Jira 项目 CodeCatalyst](extensions-link.md)。  
作为最佳实践，在链接存储库之前，请始终确保您拥有最新版本的扩展。

## 可搜索字段参考
<a name="search-query-language-searchable-fields"></a>

在您输入搜索查询时，CodeCatalyst 会搜索以下字段。别名是另一个可用于在高级查询语言中引用字段的名称。

### 代码字段
<a name="search-query-language-type-code"></a>


| 字段 | 别名 | 描述 | 
| --- | --- | --- | 
|  branchName  |  branch  |  代码文件所在分支的名称。  | 
|  code  |  不适用  |  以代码片段的形式表示的有关代码内容的信息，指示符合搜索条件的源代码部分。  | 
|  commitId  |  不适用  |  上次在其中更新返回的代码文件的提交的提交 ID。可能是或可能不是 `branchName` 中指定的分支名称最新块的提交 ID。  | 
|  commitMessage  |  不适用  |  上次在其中更新代码文件的提交的提交消息。可能是或可能不是 `branchName` 中指定的分支名称最新块的提交消息。如果未提供提交消息，则此值将为空字符串。  | 
|  filePath  |  path  |  此代码文件的文件路径。  | 
|  lastUpdatedBy  | 不适用 |  上次更新代码文件的 CodeCatalyst 用户。如果用户名不可用，则此值将是 Git 配置文件中配置的用户的电子邮件地址。  | 
|  lastUpdatedById  |  不适用  |  系统为上次更新代码文件的用户生成的唯一 ID。如果用户 ID 不可用，则此值可能是用户的电子邮件地址。  | 
|  lastUpdatedTime  |  不适用  |  上次使用包含代码文件的提交更新搜索数据的时间（采用世界协调时间（UTC）时间戳）。  | 
|  projectId  |  不适用  |  系统生成的项目的唯一 ID。  | 
|  projectName  |  projectNames、project  |  包含已在其中提交代码文件的源存储库的项目的显示名称。  | 
|  repositoryId  |  repoId  |  系统生成的源存储库的唯一 ID。  | 
|  repositoryName  |  repository、repo  |  已在其中提交代码文件的源存储库的显示名称。  | 

### 事务字段
<a name="search-query-language-type-issue"></a>


| 字段 | 别名 | 描述 | 
| --- | --- | --- | 
|  assigneeIds  |  assigneeId  |  系统为分配给事务的用户生成的唯一 ID。  | 
|  assignees  |  assignee  |  分配给事务的用户的用户名。  | 
|  createdBy  |  不适用  |  创建了事务的用户的显示名称。  | 
|  createdById  |  不适用  |  系统为创建了事务的用户生成的唯一 ID。  | 
|  createdTime  |  不适用  |  事务的创建时间（采用世界协调时间（UTC）时间戳）。  | 
|  description  |  不适用  |  事务的描述。  | 
|  isArchived  |  archived  |  布尔值，指示是否创建处于已存档状态的事务。  | 
|  isBlocked  |  blocked  |  布尔值，指示是否已将事务标记为已阻止。  | 
|  labelIds  |  labelId  |  系统为事务标签生成的唯一 ID。  | 
|  lastUpdatedBy  |  不适用  |  上次更新了事务的用户的显示名称。  | 
|  lastUpdatedById  |  不适用  |  系统为上次更新了事务的用户生成的唯一 ID。  | 
|  lastUpdatedTime  |  不适用  |  事务的上次更新时间（采用世界协调时间（UTC）时间戳）。  | 
|  priority  |  不适用  |  事务的优先级（如果已分配）。  | 
|  projectId  |  不适用  |  系统生成的项目的唯一 ID。  | 
|  projectName  |  projectNames、project  |  可在其中找到此事务的项目。  | 
|  shortId  |  不适用  |  事务的缩短的自动递增标识符。  | 
|  状态  |  不适用  |  事务的状态，指示事务是在待办事项中还是在面板上的列中。  | 
|  statusId  |  不适用  |  状态的系统标识符。  | 
|  title  |  不适用  |  事务的标题。  | 

### 项目字段
<a name="search-query-language-type-project"></a>


| 字段 | 别名 | 描述 | 
| --- | --- | --- | 
|  description  |  不适用  |  项目的描述。  | 
|  lastUpdatedTime  |  不适用  |  项目元数据的上次更新时间（采用世界协调时间（UTC）时间戳）。  | 
|  projectName  |  project  |  空间中的项目的名称。  | 
|  projectPath  |  不适用  |  项目的 URL 可路由名称（在项目创建过程中定义）。用于需要项目名称的 URL 中。  | 

### 用户字段
<a name="search-query-language-type-user"></a>


| 字段 | 别名 | 描述 | 
| --- | --- | --- | 
|  displayName  |  不适用  |  在 CodeCatalyst 中对用户使用的名称。显示名称不是唯一的。  | 
|  电子邮件  |  不适用  |  用户的电子邮件地址。  | 
|  lastUpdatedTime  |  不适用  |  用户元数据的上次更新时间（采用世界协调时间（UTC）时间戳）。  | 
|  userName  |  username  |  用户在注册 CodeCatalyst 时选择的用户名。与显示名称不同，用户名无法更改。  | 