Add meilisearch for user and event

Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
2025-12-26 02:16:23 +08:00
parent 3dbcc00a2d
commit 6681ffccdf
19 changed files with 229 additions and 15 deletions

View File

@@ -3,13 +3,16 @@ package data
import (
"nixcn-cms/data/drivers"
"github.com/meilisearch/meilisearch-go"
"github.com/redis/go-redis/v9"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
"gorm.io/gorm"
)
var Database *drivers.DBClient
var Database *gorm.DB
var Redis redis.UniversalClient
var MeiliSearch meilisearch.ServiceManager
func Init() {
// Init database
@@ -32,7 +35,7 @@ func Init() {
}
// Auto migrate
err = db.DB.AutoMigrate(&User{}, &Event{})
err = db.AutoMigrate(&User{}, &Event{})
if err != nil {
log.Error("[Database] Error migrating database: ", err)
}
@@ -40,16 +43,24 @@ func Init() {
// Init redis conection
rdbAddress := viper.GetStringSlice("cache.hosts")
dsn := drivers.RedisDSN{
rDSN := drivers.RedisDSN{
Hosts: rdbAddress,
Master: viper.GetString("cache.master"),
Username: viper.GetString("cache.username"),
Password: viper.GetString("cache.password"),
DB: viper.GetInt("cache.db"),
}
rdb, err := drivers.Redis(dsn)
rdb, err := drivers.Redis(rDSN)
if err != nil {
log.Fatal("[Redis] Error connecting to Redis: ", err)
}
Redis = rdb
// Init meilisearch
mDSN := drivers.MeiliDSN{
Host: viper.GetString("search.host"),
ApiKey: viper.GetString("search.api_key"),
}
mdb := drivers.MeiliSearch(mDSN)
MeiliSearch = mdb
}