在极狐GitLab 中搜索
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
在不断增长的代码库或扩展的组织中找到所需内容。通过查找特定代码、议题、合并请求和项目中的其他内容节省时间。根据需要从三种搜索类型中进行选择:基础搜索、高级搜索和精确代码搜索。
对于代码搜索,极狐GitLab 按以下顺序使用这些类型:
- 精确代码搜索:可以使用精确匹配和正则表达式模式。
- 高级搜索:当精确代码搜索不可用时使用。
- 基础搜索:当精确代码搜索和高级搜索不可用或在非默认分支上搜索时使用。此类型不支持群组或全局搜索。
指定搜索类型
History
- 在极狐GitLab 17.4 中引入。
要指定搜索类型,请按以下方式设置 search_type URL 参数:
search_type 替代了已弃用的 basic_search 参数。
限制搜索访问
- Offering: 私有化部署
前提条件:
- 您必须拥有实例的管理员访问权限。
默认情况下,/search 和全局搜索对未经认证的用户可用。
要将 /search 限制为仅对认证用户可用,请执行以下操作之一:
- 限制项目或群组的公共可见性。
- 禁用功能标志 allow_anonymous_searches。
要将全局搜索限制为仅对认证用户可用:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 搜索。
- 展开 全局搜索。
- 选择 启用阻止匿名全局搜索请求。
- 选择 保存更改。
禁用全局搜索范围
- Tier: 基础版, 专业版, 旗舰版
- Offering: 私有化部署
History
- 在极狐GitLab 17.9 中引入。
前提条件:
- 您必须拥有实例的管理员访问权限。
为了提高实例的全局搜索性能,您可以禁用一个或多个搜索范围。默认情况下,极狐GitLab 私有化部署实例上启用所有全局搜索范围。
要禁用一个或多个全局搜索范围:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 搜索。
- 展开 全局搜索。
- 清除要禁用的范围的复选框。
- 选择 保存更改。
全局搜索验证
History
- 在议题搜索中移除对部分匹配的支持,在极狐GitLab 14.9 中移除,使用名为 issues_full_text_search 的功能标志。默认情况下禁用。
- 在极狐GitLab 16.2 中 GA。移除功能标志 issues_full_text_search。
全局搜索会忽略并记录为滥用的任何包含以下内容的搜索:
- 少于两个字符
- 长度超过 100 个字符的术语(URL 搜索术语不得超过 200 个字符)
- 仅包含停用词(例如,the、and 或 if)
- 未知的 scope
- group_id 或 project_id 不是完全数字
- repository_ref 或 project_ref 包含 Git refname 不允许的特殊字符
全局搜索仅对包含以下内容的搜索标记错误:
- 超过 4096 个字符
- 超过 64 个术语
议题搜索中不支持部分匹配。例如,当搜索议题时输入 play,查询不会返回包含 display 的议题。然而,查询匹配字符串的所有可能变体(例如,plays)。
自动完成建议
History
- 仅显示来自授权项目和群组的用户,在极狐GitLab 17.10 中引入,使用名为 users_search_scoped_to_authorized_namespaces_advanced_search、users_search_scoped_to_authorized_namespaces_basic_search 和 users_search_scoped_to_authorized_namespaces_basic_search_by_ids 的功能标志。默认情况下禁用。
- 在极狐GitLab 17.11 中 GA。移除功能标志 users_search_scoped_to_authorized_namespaces_advanced_search、users_search_scoped_to_authorized_namespaces_basic_search 和 users_search_scoped_to_authorized_namespaces_basic_search_by_ids。
当您在搜索框中输入时,会显示自动完成建议:
- 项目和群组
- 来自授权项目和群组的用户
- 帮助页面
- 项目功能(例如,里程碑)
- 设置(例如,用户设置)
- 最近查看的合并请求
- 最近查看的议题和史诗
- 极狐GitLab 风格 Markdown 引用用于项目中的议题
在所有极狐GitLab 中搜索
要在所有极狐GitLab 中搜索:
- 在左侧边栏顶部,选择 搜索或前往。
- 输入您的搜索查询。您必须输入至少两个字符。
- 按 Enter 键进行搜索,或从列表中选择。
显示结果。要过滤结果,请在左侧边栏中选择一个过滤器。
在项目中搜索
要在项目中搜索:
- 在左侧边栏中选择 搜索或前往 并找到您的项目。
- 再次选择 搜索或前往 并输入您要搜索的字符串。
- 按 Enter 键进行搜索,或从列表中选择。
显示结果。要过滤结果,请在左侧边栏中选择一个过滤器。
通过完整路径搜索项目
History
- 在极狐GitLab 15.9 中引入,使用名为 full_path_project_search 的功能标志。默认禁用。
- 在极狐GitLab 15.11 中 GA。移除功能标志 full_path_project_search。
您可以通过在搜索框中输入项目的完整路径(包括其所属的命名空间)来搜索项目。当您输入项目路径时,会显示自动完成建议。
例如:
- gitlab-org/gitlab 搜索 gitlab-org 命名空间中的 gitlab 项目。
- gitlab-org/ 显示属于 gitlab-org 命名空间的项目的自动完成建议。
在搜索结果中包含已归档的项目
History
- 在极狐GitLab 16.1 中引入,使用名为 search_projects_hide_archived 的功能标志。默认禁用。
- 在极狐GitLab 16.6 中所有搜索范围 GA。
默认情况下,已归档的项目不包含在搜索结果中。要在搜索结果中包含已归档的项目:
- 在搜索页面上,在左侧边栏中选择 包含已归档 复选框。
- 在左侧边栏中选择 应用。
搜索代码
要在项目中搜索代码:
- 在左侧边栏中选择 搜索或前往 并找到您的项目。
- 再次选择 搜索或前往 并输入您要搜索的代码。
- 按 Enter 键进行搜索,或从列表中选择。
代码搜索仅显示文件中的第一个结果。要在所有极狐GitLab 中搜索代码,请让您的管理员启用高级搜索。
从代码搜索查看 Git 责任
History
- 在极狐GitLab 14.7 中引入。
找到搜索结果后,您可以查看谁对找到结果的行进行了最后更改。
- 在代码搜索结果中,将鼠标悬停在行号上。
- 在左侧,选择 查看责任。
按语言过滤代码搜索结果
History
- 在极狐GitLab 15.10 中引入。
要按一种或多种语言过滤代码搜索结果:
- 在代码搜索页面上,在左侧边栏中选择一种或多种语言。
- 在左侧边栏中选择 应用。
搜索提交 SHA
要搜索提交 SHA:
- 在左侧边栏中选择 搜索或前往 并找到您的项目。
- 再次选择 搜索或前往 并输入您要搜索的提交 SHA。
- 按 Enter 键进行搜索,或从列表中选择。
如果返回单个结果,极狐GitLab 会重定向到提交结果,并提供返回搜索结果页面的选项。