本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

用于将osu!分数从MySQL加载到Elasticsearch的组件。
若使用Elasticsearch 8,需至少为8.2版本。需在索引器上设置以下环境变量:
ELASTIC_CLIENT_APIVERSIONING=true
并在Elasticsearch服务器配置elasticsearch.yml中设置:
xpack.security.enabled: false
或在Docker环境中(如docker-compose):
environment: xpack.security.enabled: false
这将启用Elasticsearch的HTTP连接,禁用HTTPS和认证要求,并向客户端返回兼容响应。
使用字符串值指示当前要使用的模式版本。
队列处理器运行时,会将其处理的版本存储在Redis的集合osu-queue:score-index:${prefix}active-schemas中。
若队列处理器因模式版本更改自动停止,会将其处理的版本从集合中移除;若手动停止或因故障停止,则不会移除,以允许其他服务继续向这些队列推送数据。
preserve=true且所属用户user_warnings=0的分数将被添加到索引;任一条件不满足的分数将从索引中移除。
将项推送到队列osu-queue:score-index-${schema}。
运行dotnet run schema set ${schema},或直接在Redis中设置osu-queue:score-index:${prefix}schema。
配置通过环境变量加载,不自动加载环境文件。若需从环境文件读取,可前缀命令:env $(cat {envfile})(注:此方式不支持含空格的值),例如:
env $(cat .env) dotnet run
每批处理的最大项数,影响发送到Elasticsearch的_bulk请求大小。
默认值:10000。
队列处理期间允许的最大在飞行项数(BATCH_SIZE * BUFFER_SIZE)。
默认值:5(默认共50000项)。
MySQL主机地址。
默认值:localhost。
数据库用户名。
默认值:root。
Elasticsearch索引名的可选前缀。
Elasticsearch主机URL。
默认值:http://localhost:9200。
Redis连接字符串;配置选项参见此处。
默认值:localhost。
队列的模式版本;参见模式。
MySQL连接字符串(Docker部署中使用)。
本文档假设可使用dotnet run;若不可用,可直接使用程序集,例如dotnet osu.ElasticIndexer.dll。
运行queue命令会自动创建索引(若不存在匹配请求模式的开放索引);若存在,则复用。
SCHEMA=${schema} dotnet run queue watch
示例:
SCHEMA=1 dotnet run queue watch
dotnet run schema get
dotnet run schema set ${schema}
用于测试目的清除模式版本:
dotnet run schema clear
可手动更改别名指向的索引:
dotnet run schema alias ${schema}
将更新索引别名至带模式${schema}标签的最新索引。
列出所有索引及其状态(模式、别名、开放/关闭):
dotnet run index list
关闭除活动索引外的所有分数索引,释放Elasticsearch内存:
dotnet run index close
可指定索引名称关闭特定索引,例如关闭index_1:
dotnet run index close index_1
删除所有处于closed状态的索引,释放存储空间:
dotnet run index delete
可指定索引名称删除特定索引:
dotnet run index delete index_1
为测试目的添加假项到队列:
SCHEMA=1 dotnet run queue pump-fake
注意:这些项不存在于数据库中,也不匹配实际数据。
按ID索引分数:
SCHEMA=${schema} dotnet run queue pump-score ${id}
示例:
SCHEMA=1 dotnet run queue pump-score 1
读取现有solo_scores并添加到队列(仅含对应phpbb_users条目的分数会被 queued):
SCHEMA=1 dotnet run queue pump-all
额外选项:
--from {id}:从指定solo_scores.id开始读取--switch:最后一项入队后设置模式版本(不等待索引完成,用于测试)列出已知有队列处理器监听的版本:
dotnet run active-schemas list
用于调试或手动维护:
dotnet run active-schemas add ${schema} dotnet run active-schemas remove ${schema}
通过向队列推送分数项来填充索引。
docker build -t ${tagname} -f osu.ElasticIndexer/Dockerfile osu.ElasticIndexer
docker run -e SCHEMA=1 -e "ES_HOST=[***]" -e "ES_INDEX_PREFIX=docker." -e "REDIS_HOST=host.docker.internal" -e "DB_CONNECTION_STRING=Server=host.docker.internal;Database=osu;Uid=osuweb;SslMode=None;" ${tagname} ${cmd}
其中${cmd}为要运行的命令,例如dotnet osu.ElasticIndexer.dll queue watch。
向Redis队列osu-queue:score-index-${schema}推送项,例如:
ListLeftPush("osu-queue:score-index-1", "{ \"ScoreId\": 1 }");
LPUSH "osu-queue:score-index-1" "{\"ScoreId\":1}"
{ "ScoreId": 1 }
{ "Score": {Solo.Score} }
docker run -e SCHEMA=1 -e ES_HOST=[***] -e REDIS_HOST=redis ${tagname} dotnet osu.ElasticIndexer.dll queue watch
docker run -e REDIS_HOST=redis ${tagname} dotnet osu.ElasticIndexer.dll schema get

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429