LogoHydro

Sonic

安装

安装 sonic-server

使用 root 用户执行如下命令:

nix-env -iA nixpkgs.sonic-server

安装 sonic 插件

使用 root 用户执行如下命令:

yarn global add @hydrooj/sonic
hydrooj addon add @hydrooj/sonic

启动

/root/.sonic/config.cfg(没有的自行建立,也可以换成其他的你喜欢的路径)按照以下配置示例写入配置。

配置示例:

# Sonic
# Fast, lightweight and schema-less search backend
# Configuration file
# Example: https://github.com/valeriansaliou/sonic/blob/master/config.cfg
 
 
[server]
 
log_level = "error"
 
 
[channel]
 
inet = "127.0.0.1:1491" # 默认监听本机
tcp_timeout = 300
 
auth_password = "SecretPassword"
 
[channel.search]
 
query_limit_default = 10
query_limit_maximum = 100
query_alternates_try = 4
 
suggest_limit_default = 5
suggest_limit_maximum = 20
 
 
[store]
 
[store.kv]
 
path = "/data/sonic/store/kv/"
 
retain_word_objects = 1000
 
[store.kv.pool]
 
inactive_after = 1800
 
[store.kv.database]
 
flush_after = 900
 
compress = true
parallelism = 2
max_files = 100
max_compactions = 1
max_flushes = 1
write_buffer = 16384
write_ahead_log = true
 
[store.fst]
 
path = "/data/sonic/store/fst/"
 
[store.fst.pool]
 
inactive_after = 300
 
[store.fst.graph]
 
consolidate_after = 180
 
max_size = 2048
max_words = 250000

执行如下命令:

pm2 start sonic -- -c /root/.sonic/config.cfg
pm2 save

配置

后端地址配置

进入 HydroOJ 控制面板,配置 sonic 后端地址。

如果您直接复制配置示例,那么按照以下内容配置:

  • host: 127.0.0.1
  • port: 1491
  • auth: SecretPassword

修改完成后,重启 HydroOJ。

重启 HydroOJ

执行命令 pm2 restart hydrooj

重建题目索引

进入 HydroOJ 控制面板,在脚本管理中找到重建题目索引,点击运行,参数留空即可。

至此,搜索功能应当可以正常使用。

FAQ

安装后题目搜索不正常

请更新到 HydroOJ 最新版本后,再运行重建题目索引。

On this page