Gorse v0.4.0更新

534 阅读1分钟

Github: Gorse v0.4.0更新

时隔半年,Gorse推荐系统迎来了大版本更新。本次更新的支持将推荐结果存到磁盘数据库中、重构了配置文件布局以及优化了接口性能。

新特性

  • 支持将推荐结果保存到MySQL中。
  • 支持将推荐结果保存到Postgres中。
  • 支持将推荐结果保存到MongoDB中。

在配置文件的cache_store字段中填入以上数据库地址即可将推荐结果保存到磁盘数据库中。

[database]

# The database for caching, support Redis, MySQL, Postgres and MongoDB:

#  redis://<user>:<password>@<host>:<port>/<db_number>

#  postgres://bob:secret@1.2.3.4:5432/mydb?sslmode=verify-full

#  mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

#  mongodb+srv://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

cache_store = "redis://localhost:6379/0"

在使用不同数据库时的性能对比可以在文档的Benchmark一节中查看。

修复问题

  • 修复了Swagger文档中的错别字。
  • 修复了ClickHouse中时间戳丢失时区信息的问题。
  • 修复了Postgres插入重复数据行报错的问题。
  • 修复了无法更新物品时间戳的问题。

性能优化

  • 新版本优化了用户、物品和反馈的插入性能。
缓存数据库存储数据库优化前优化后
插入1000用户RedisMySQL75ms38ms
插入1000物品RedisMySQL324ms32ms
插入1000反馈RedisMySQL248ms42ms

不兼容更新

新版本采用了新的配置文件格式和新的默认值,详细格式和默认值请阅读config.toml.template文件。主要修改

  • 将配置文件改成多级形式,为未来支持YAML做优化。
  • 默认开启向量索引,加速大数据集上的搜索效率。