关于 GitHub Enterprise Server 的搜索
用户可以搜索实例来查找、导航和了解关于 GitHub Enterprise Server 的议题、拉取请求、代码和其他内容。 Elasticsearch 为实例上的搜索功能提供技术支持。 可以查看 Elasticsearch 的当前状态,并且可以控制搜索和索引行为。
有关搜索 GitHub Enterprise Server 的详细信息,请参阅“在GitHub上搜索文档”。 有关 Elasticsearch 的详细信息,请参阅 Elasticsearch 网站。
关于索引管理
GitHub Enterprise Server 会定期自动与实例上的数据协调搜索索引的状态,其中包括:
- 数据库中的问题、项目、拉取请求、仓库和用户
- 磁盘上的 Git 存储库(源代码)
正常使用时,企业所有者无需创建新索引或计划修复作业。 出于故障排除或其他支持用途,GitHub 支持 可能会指示你运行修复作业。
查看搜索索引
- 在任何页面的右上角,单击 。
- 在左侧边栏中,单击“搜索索引”。
- 在“索引管理”下,单击要查看的搜索索引。
创建新的搜索索引
-
在任何页面的右上角,单击 。
-
在左侧边栏中,单击“搜索索引”。
-
在“索引管理”旁边,单击“创建新索引”。
-
选择“选择要创建的索引”下拉列表,然后单击要创建的搜索索引。
-
如果希望索引可搜索,请选择“使此索引可搜索”复选框。
-
如果希望索引可写,请选择“使此索引可写”复选框。
-
单击“创建索引”。
-
如果实例使用高可用性或群集配置,则需要运行脚本来确保在整个实例中正确配置搜索索引的数量。 此步骤不适用于使用 GitHub Enterprise Server 3.19 中发布的新 HA 配置的用户。
通过 SSH 访问主设备的管理 shell,然后运行以下命令之一。
对于高可用性配置:
Shell /usr/local/share/enterprise/ghe-es-auto-expand -v 0-all
/usr/local/share/enterprise/ghe-es-auto-expand -v 0-all对于群集配置:
Shell /usr/local/share/enterprise/ghe-es-auto-expand -v 0-1
/usr/local/share/enterprise/ghe-es-auto-expand -v 0-1请参阅“访问管理 shell (SSH)”。
管理搜索索引
在网站管理员仪表板中查看现有搜索索引时,可以执行以下操作:
- 使索引可搜索。
- 使索引可写。
- 更新索引。
- 删除索引。
- 重置索引修复状态。
- 开始新的索引修复作业。
- 启用或禁用索引修复作业。
管理代码搜索
你可以启用或禁用对源代码进行的搜索和索引操作。 有关代码搜索的详细信息,请参阅“搜索代码”。
- 在任何页面的右上角,单击 。
- 在左侧边栏中,单击“搜索索引”。
- 在“代码搜索”部分的“搜索”或“索引”旁边,单击“启用”或“禁用”。
修复搜索索引
实例使用修复作业协调数据,并计划在发生以下事件时在后台执行修复作业:
- 创建新的搜索索引。
- 需要回填缺失的数据。
- 需要更新旧的搜索数据。
在搜索索引的“修复”部分中,进度栏会显示后台工作进程中修复作业的当前状态。 可以在修复作业完成后忽略进度栏中显示的值。 进度栏显示修复偏移与数据库中最高记录 ID 之差,并且会随着更多存储库添加到 你的 GitHub Enterprise Server 实例 中而减小,即使这些存储库实际上已编制索引。
若要最大限度地减小对 I/O 性能的影响并减小操作超时的几率,请在非高峰时段运行修复作业。 当作业将搜索索引与数据库和 Git 存储库数据协调时,会使用一个 CPU。 使用类似于 top 的实用工具监视系统的负载平均值和 CPU 使用率。 如果未发现任何显著的资源消耗变化,那么在高峰时段运行索引修复作业也应当是安全的。
修复任务使用“修复偏移”来实现并行处理。 偏移是指协调的记录在数据库表中的偏移。 多个后台作业可以基于此偏移同步工作。