func Load()

in service/recall/recall.go [37:97]


func Load(config *recconf.RecommendConfig) {
	for _, conf := range config.RecallConfs {
		if _, ok := recalls[conf.Name]; ok {
			sign, _ := json.Marshal(&conf)
			if utils.Md5(string(sign)) == recallSigns[conf.Name] {
				continue
			}
		}

		var recall Recall
		if conf.RecallType == "UserCollaborativeFilterRecall" {
			recall = NewUserCollaborativeFilterRecall(conf)
		} else if conf.RecallType == "UserTopicRecall" {
			recall = NewUserTopicRecall(conf)
		} else if conf.RecallType == "VectorRecall" {
			recall = NewVectorRecall(conf)
		} else if conf.RecallType == "UserCustomRecall" {
			recall = NewUserCustomRecall(conf)
		} else if conf.RecallType == "HologresVectorRecall" {
			recall = NewHologresVectorRecall(conf)
		} else if conf.RecallType == "HologresVectorRecallV2" {
			recall = NewHologresVectorRecallV2(conf)
		} else if conf.RecallType == "ItemCollaborativeFilterRecall" {
			recall = NewItemCollaborativeFilterRecall(conf)
		} else if conf.RecallType == "UserGroupHotRecall" {
			recall = NewUserGroupHotRecall(conf)
		} else if conf.RecallType == "UserGlobalHotRecall" {
			recall = NewUserGlobalHotRecall(conf)
		} else if conf.RecallType == "I2IVectorRecall" {
			recall = NewI2IVectorRecall(conf)
		} else if conf.RecallType == "ColdStartRecall" {
			recall = NewColdStartRecall(conf)
		} else if conf.RecallType == "MilvusVectorRecall" {
			//recall = NewMilvusVectorRecall(conf)
		} else if conf.RecallType == "BeRecall" {
			recall = NewBeRecall(conf)
		} else if conf.RecallType == "RealTimeU2IRecall" {
			recall = NewRealTimeU2IRecall(conf)
		} else if conf.RecallType == "OnlineHologresVectorRecall" {
			recall = NewOnlineHologresVectorRecall(conf)
		} else if conf.RecallType == "GraphRecall" {
			recall = NewGraphRecall(conf)
		} else if conf.RecallType == "MockRecall" {
			recall = NewMockRecall(conf)
		} else if conf.RecallType == "OpenSearchRecall" {
			recall = NewOpenSearchRecall(conf)
		} else if conf.RecallType == "OnlineVectorRecall" {
			recall = NewOnlineVectorRecall(conf)
		}

		if recall == nil {
			panic(fmt.Sprintf("recall empty, name:%s", conf.Name))
		}

		RegisterRecall(conf.Name, recall)
		sign, _ := json.Marshal(&conf)
		recallSigns[conf.Name] = utils.Md5(string(sign))

	}

}