关于 GitHub Enterprise Server 的搜索
用户可以在您的实例中搜索,以查找、浏览并了解 GitHub Enterprise Server 上的议题、拉取请求、代码及其他内容。 Elasticsearch 为实例上的搜索功能提供技术支持。 可以查看 Elasticsearch 的当前状态,并且可以控制搜索和索引行为。
有关搜索 GitHub Enterprise Server的详细信息,请参阅 在GitHub上搜索文档。 有关 Elasticsearch 的详细信息,请参阅 Elasticsearch 网站。
关于索引管理
GitHub Enterprise Server 将搜索索引的状态与实例上的数据自动和定期协调,包括:
- 数据库中的问题、项目、拉取请求、存储库和用户
- 磁盘上的 Git 存储库(源代码)
正常使用时,企业所有者无需创建新索引或计划修复作业。 出于故障排除或其他支持目的, GitHub 支持 可以指示你运行修复作业。
查看搜索索引
- 在任何页面的右上角,单击 。
- 在左侧边栏中,单击“搜索索引”。
- 在“索引管理”下,单击要查看的搜索索引。
创建新的搜索索引
-
在任何页面的右上角,单击 。
-
在左侧边栏中,单击“搜索索引”。
-
在“索引管理”旁边,单击“创建新索引”。
-
选择“选择要创建的索引”下拉列表,然后单击要创建的搜索索引。
-
如果希望索引可搜索,请选择“使此索引可搜索”复选框。
-
如果希望索引可写,请选择“使此索引可写”复选框。
-
单击“创建索引”。
-
如果实例使用高可用性或群集配置,则需要运行脚本来确保在整个实例中正确配置搜索索引的数量。 此步骤不适用于使用 3.19 中 GitHub Enterprise Server 发布的新 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 使用率。 如果未发现任何显著的资源消耗变化,那么在高峰时段运行索引修复作业也应当是安全的。
修复任务使用“修复偏移”来实现并行处理。 偏移是指协调的记录在数据库表中的偏移。 多个后台作业可以基于此偏移同步工作。