在极狐GitLab 中搜索

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

在不断增长的代码库或扩展的组织中找到所需内容。通过查找特定代码、议题、合并请求和项目中的其他内容节省时间。根据需要从三种搜索类型中进行选择:基础搜索高级搜索精确代码搜索

对于代码搜索,极狐GitLab 按以下顺序使用这些类型:

  • 精确代码搜索:可以使用精确匹配和正则表达式模式。
  • 高级搜索:当精确代码搜索不可用时使用。
  • 基础搜索:当精确代码搜索和高级搜索不可用或在非默认分支上搜索时使用。此类型不支持群组或全局搜索。

指定搜索类型#

History
    • 在极狐GitLab 17.4 中引入。

要指定搜索类型,请按以下方式设置 search_type URL 参数:

search_type 替代了已弃用的 basic_search 参数。

限制搜索访问#

  • Offering: 私有化部署
History
    • 对认证用户限制全局搜索引入于极狐GitLab 13.4,使用名为 block_anonymous_global_searches功能标志。默认禁用。
    • 启用或禁用匿名搜索,引入于在极狐GitLab 16.7,使用名为 allow_anonymous_searches功能标志。默认启用。
    • 启用或禁用匿名搜索,在极狐GitLab 17.1 中 GA,作为 UI 的一个选项,而不是使用 block_anonymous_global_searches 标志。

前提条件:

  • 您必须拥有实例的管理员访问权限。

默认情况下,/search 和全局搜索对未经认证的用户可用。

要将 /search 限制为仅对认证用户可用,请执行以下操作之一:

要将全局搜索限制为仅对认证用户可用:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 搜索
  3. 展开 全局搜索
  4. 选择 启用阻止匿名全局搜索请求
  5. 选择 保存更改

禁用全局搜索范围#

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署
History
    • 在极狐GitLab 17.9 中引入。

前提条件:

  • 您必须拥有实例的管理员访问权限。

为了提高实例的全局搜索性能,您可以禁用一个或多个搜索范围。默认情况下,极狐GitLab 私有化部署实例上启用所有全局搜索范围。

要禁用一个或多个全局搜索范围:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 搜索
  3. 展开 全局搜索
  4. 清除要禁用的范围的复选框。
  5. 选择 保存更改

全局搜索验证#

History
    • 在议题搜索中移除对部分匹配的支持,在极狐GitLab 14.9 中移除,使用名为 issues_full_text_search功能标志。默认情况下禁用。
    • 在极狐GitLab 16.2 中 GA。移除功能标志 issues_full_text_search

全局搜索会忽略并记录为滥用的任何包含以下内容的搜索:

  • 少于两个字符
  • 长度超过 100 个字符的术语(URL 搜索术语不得超过 200 个字符)
  • 仅包含停用词(例如,theandif
  • 未知的 scope
  • group_idproject_id 不是完全数字
  • repository_refproject_ref 包含 Git refname 不允许的特殊字符

全局搜索仅对包含以下内容的搜索标记错误:

  • 超过 4096 个字符
  • 超过 64 个术语

议题搜索中不支持部分匹配。例如,当搜索议题时输入 play,查询不会返回包含 display 的议题。然而,查询匹配字符串的所有可能变体(例如,plays)。

自动完成建议#

History
    • 仅显示来自授权项目和群组的用户,在极狐GitLab 17.10 中引入,使用名为 users_search_scoped_to_authorized_namespaces_advanced_searchusers_search_scoped_to_authorized_namespaces_basic_searchusers_search_scoped_to_authorized_namespaces_basic_search_by_ids功能标志。默认情况下禁用。
    • 在极狐GitLab 17.11 中 GA。移除功能标志 users_search_scoped_to_authorized_namespaces_advanced_searchusers_search_scoped_to_authorized_namespaces_basic_searchusers_search_scoped_to_authorized_namespaces_basic_search_by_ids
此功能的可用性由功能标志控制。有关更多信息,请参阅历史记录。

当您在搜索框中输入时,会显示自动完成建议:

  • 项目和群组
  • 来自授权项目和群组的用户
  • 帮助页面
  • 项目功能(例如,里程碑)
  • 设置(例如,用户设置)
  • 最近查看的合并请求
  • 最近查看的议题和史诗
  • 极狐GitLab 风格 Markdown 引用用于项目中的议题

在所有极狐GitLab 中搜索#

要在所有极狐GitLab 中搜索:

  1. 在左侧边栏顶部,选择 搜索或前往
  2. 输入您的搜索查询。您必须输入至少两个字符。
  3. Enter 键进行搜索,或从列表中选择。

显示结果。要过滤结果,请在左侧边栏中选择一个过滤器。

在项目中搜索#

要在项目中搜索:

  1. 在左侧边栏中选择 搜索或前往 并找到您的项目。
  2. 再次选择 搜索或前往 并输入您要搜索的字符串。
  3. 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。

默认情况下,已归档的项目不包含在搜索结果中。要在搜索结果中包含已归档的项目:

  1. 在搜索页面上,在左侧边栏中选择 包含已归档 复选框。
  2. 在左侧边栏中选择 应用

搜索代码#

要在项目中搜索代码:

  1. 在左侧边栏中选择 搜索或前往 并找到您的项目。
  2. 再次选择 搜索或前往 并输入您要搜索的代码。
  3. Enter 键进行搜索,或从列表中选择。

代码搜索仅显示文件中的第一个结果。要在所有极狐GitLab 中搜索代码,请让您的管理员启用高级搜索

History
    • 在极狐GitLab 14.7 中引入。

找到搜索结果后,您可以查看谁对找到结果的行进行了最后更改。

  1. 在代码搜索结果中,将鼠标悬停在行号上。
  2. 在左侧,选择 查看责任

按语言过滤代码搜索结果#

History
    • 在极狐GitLab 15.10 中引入。

要按一种或多种语言过滤代码搜索结果:

  1. 在代码搜索页面上,在左侧边栏中选择一种或多种语言。
  2. 在左侧边栏中选择 应用

搜索提交 SHA#

要搜索提交 SHA:

  1. 在左侧边栏中选择 搜索或前往 并找到您的项目。
  2. 再次选择 搜索或前往 并输入您要搜索的提交 SHA。
  3. Enter 键进行搜索,或从列表中选择。

如果返回单个结果,极狐GitLab 会重定向到提交结果,并提供返回搜索结果页面的选项。