Skip to main content

Enterprise Server 3.15 目前作为候选发布提供。

管理实例的搜索索引

GitHub Enterprise Server 使用 Elasticsearch 为搜索功能提供技术支持,并提供用于管理搜索和索引行为的工具。

谁可以使用此功能?

Enterprise owners can manage search indices for a GitHub Enterprise Server instance.

关于 GitHub Enterprise Server

的搜索

用户可以搜索实例查找、导航和了解关于 GitHub Enterprise Server 的问题、拉取请求、代码和其他内容。 Elasticsearch 为实例上的搜索功能提供技术支持。 可以查看 Elasticsearch 的当前状态,并且可以控制搜索和索引行为。

有关 GitHub Enterprise Server 的搜索的详细信息,请参阅“在 GitHub 上搜索文档”。 有关 Elasticsearch 的详细信息,请参阅 Elasticsearch 网站

关于索引管理

GitHub Enterprise Server 会定期自动与实例上的数据协调搜索索引的状态,其中包括:

  • 数据库中的问题、拉取请求、存储库和用户
  • 磁盘上的 Git 存储库(源代码)

正常使用时,企业所有者无需创建新索引或计划修复作业。 出于故障排除或其他支持用途,GitHub 支持 可能会指示你运行修复作业。

查看搜索索引

  1. 在任何页面的右上角,单击
  2. 在左侧边栏中,单击“搜索索引”。
  3. 在“索引管理”下,单击要查看的搜索索引。

创建新的搜索索引

  1. 在任何页面的右上角,单击

  2. 在左侧边栏中,单击“搜索索引”。

  3. 在“索引管理”旁边,单击“创建新索引”。

  4. 选择“选择要创建的索引”下拉列表,然后单击要创建的搜索索引。

  5. 如果希望索引可搜索,请选择“使此索引可搜索”复选框。

  6. 如果希望索引可写,请选择“使此索引可写”复选框。

  7. 单击“创建索引”。

  8. 如果实例使用高可用性或群集配置,则需要运行脚本来确保在整个实例中正确配置搜索索引的数量。

    通过 SSH 访问主设备的管理 shell,然后运行以下命令之一。

    对于高可用性配置:

    Shell
    /usr/local/share/enterprise/ghe-es-auto-expand -v 0-all
    

    对于群集配置:

    Shell
    /usr/local/share/enterprise/ghe-es-auto-expand -v 0-1
    

    请参阅“访问管理 shell (SSH)”。

管理搜索索引

在网站管理员仪表板中查看现有搜索索引时,可以执行以下操作:

  • 使索引可搜索。
  • 使索引可写。
  • 更新索引。
  • 删除索引。
  • 重置索引修复状态。
  • 开始新的索引修复作业。
  • 启用或禁用索引修复作业。

你可以启用或禁用对源代码进行的搜索和索引操作。 有关代码搜索的详细信息,请参阅“搜索代码”。

  1. 在任何页面的右上角,单击
  2. 在左侧边栏中,单击“搜索索引”。
  3. 在“代码搜索”部分的“搜索”或“索引”旁边,单击“启用”或“禁用”。

修复搜索索引

实例使用修复作业协调数据,并计划在发生以下事件时在后台执行修复作业:

  • 创建新的搜索索引。
  • 需要回填缺失的数据。
  • 需要更新旧的搜索数据。

在搜索索引的“修复”部分中,进度栏会显示后台工作进程中修复作业的当前状态。 可以在修复作业完成后忽略进度栏中显示的值。 进度栏显示修复偏移与数据库中最高记录 ID 之差,并且会随着更多存储库添加到 你的 GitHub Enterprise Server 实例 中而减小,即使这些存储库实际上已编制索引。

若要最大限度地减小对 I/O 性能的影响并减小操作超时的几率,请在非高峰时段运行修复作业。 当作业将搜索索引与数据库和 Git 存储库数据协调时,会使用一个 CPU。 使用类似于 top 的实用工具监视系统的负载平均值和 CPU 使用率。 如果未发现任何显著的资源消耗变化,那么在高峰时段运行索引修复作业也应当是安全的。

修复作业使用“修复偏移”实现并行化。 偏移是指协调的记录在数据库表中的偏移。 多个后台作业可以基于此偏移同步工作。