recconf/modules.go (174 lines of code) (raw):
package recconf
var modJsonPath = map[string]string{
HologresConfig{}.ModuleType(): "HologresConfs",
TableStoreConfig{}.ModuleType(): "TableStoreConfs",
RedisConfig{}.ModuleType(): "RedisConfs",
MysqlConfig{}.ModuleType(): "MysqlConfs",
HBaseConfig{}.ModuleType(): "HBaseConfs",
FeatureStoreConfig{}.ModuleType(): "FeatureStoreConfs",
BEConfig{}.ModuleType(): "BEConfs",
ClickHouseConfig{}.ModuleType(): "ClickHouseConfs",
LindormConfig{}.ModuleType(): "LindormConfs",
GraphConfig{}.ModuleType(): "GraphConfs",
HBaseThriftConfig{}.ModuleType(): "HBaseThriftConfs",
OpenSearchConfig{}.ModuleType(): "OpenSearchConfs",
RecallConfig{}.ModuleType(): "RecallConfs",
FilterConfig{}.ModuleType(): "FilterConfs",
AlgoConfig{}.ModuleType(): "AlgoConfs",
SortConfig{}.ModuleType(): "SortConfs",
SceneRecallConfig{}.ModuleType(): "SceneConfs",
SceneFilterConfig{}.ModuleType(): "FilterNames",
GeneralRankConfig{}.ModuleType(): "GeneralRankConfs",
SceneFeatureConfig{}.ModuleType(): "FeatureConfs",
RankConfig{}.ModuleType(): "RankConf",
SceneSortConfig{}.ModuleType(): "SortNames",
}
type ModuleIndex struct {
Type string
Name string
}
func (conf RecommendConfig) GetModules() map[ModuleIndex]any {
modules := make(map[ModuleIndex]any)
for name, config := range conf.HologresConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.TableStoreConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.RedisConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.MysqlConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.HBaseConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.FeatureStoreConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.BEConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.ClickHouseConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.LindormConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.GraphConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.HBaseThriftConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for _, config := range conf.RecallConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: config.Name}] = config
}
for _, config := range conf.FilterConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: config.Name}] = config
}
for _, config := range conf.AlgoConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: config.Name}] = config
}
for _, config := range conf.SortConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: config.Name}] = config
}
for name, config := range conf.SceneConfs {
modules[ModuleIndex{
Type: SceneRecallConfig(config).ModuleType(),
Name: name,
}] = SceneRecallConfig(config)
}
for name, config := range conf.FilterNames {
modules[ModuleIndex{
Type: SceneFilterConfig(config).ModuleType(),
Name: name,
}] = SceneFilterConfig(config)
}
for name, config := range conf.GeneralRankConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.FeatureConfs {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.RankConf {
modules[ModuleIndex{Type: config.ModuleType(), Name: name}] = config
}
for name, config := range conf.SortNames {
modules[ModuleIndex{
Type: SceneSortConfig(config).ModuleType(),
Name: name,
}] = SceneSortConfig(config)
}
return modules
}
func (conf HologresConfig) ModuleType() string {
return "HologresConf"
}
func (conf TableStoreConfig) ModuleType() string {
return "TableStoreConf"
}
func (conf RedisConfig) ModuleType() string {
return "RedisConf"
}
func (conf MysqlConfig) ModuleType() string {
return "MysqlConf"
}
func (conf HBaseConfig) ModuleType() string {
return "HBaseConf"
}
func (conf HBaseThriftConfig) ModuleType() string {
return "HBaseThriftConf"
}
func (conf FeatureStoreConfig) ModuleType() string {
return "FeatureStoreConf"
}
func (conf BEConfig) ModuleType() string {
return "BEConf"
}
func (conf ClickHouseConfig) ModuleType() string {
return "ClickHouseConf"
}
func (conf LindormConfig) ModuleType() string {
return "LindormConf"
}
func (conf GraphConfig) ModuleType() string {
return "GraphConf"
}
func (conf OpenSearchConfig) ModuleType() string {
return "OpenSearchConf"
}
func (conf RecallConfig) ModuleType() string {
return "RecallConf"
}
func (conf FilterConfig) ModuleType() string {
return "FilterConf"
}
func (conf AlgoConfig) ModuleType() string {
return "AlgoConf"
}
func (conf SortConfig) ModuleType() string {
return "SortConf"
}
type SceneRecallConfig map[string]CategoryConfig
func (conf SceneRecallConfig) ModuleType() string {
return "SceneRecallConf"
}
type SceneFilterConfig []string
func (conf SceneFilterConfig) ModuleType() string {
return "SceneFilterConf"
}
func (conf GeneralRankConfig) ModuleType() string {
return "SceneGeneralRankConf"
}
func (conf SceneFeatureConfig) ModuleType() string {
return "SceneFeatureConf"
}
func (conf RankConfig) ModuleType() string {
return "SceneRankConf"
}
type SceneSortConfig []string
func (conf SceneSortConfig) ModuleType() string {
return "SceneSortConf"
}