Kaynağa Gözat

随机匹配度过滤

zhangxinlei1996 4 yıl önce
ebeveyn
işleme
ec619e77be

+ 1 - 1
src/jfw/front/swordfish.go

@@ -1495,7 +1495,7 @@ func (f *Front) MyFeedbacks() error {
 }
 func (f *Front) GetRecomKWs() {
 	count, _ := f.GetInteger("count")
-	f.ServeJson(public.RecomKws.GetRecomKws(f.GetString("value"), count))
+	f.ServeJson(public.RecomKws.GetRecomKws(f.GetString("value"), count, float32(config.Sysconfig["recommendThreshold"].(float64))))
 }
 
 //记录用户行为--推荐关键词

+ 1 - 1
src/jfw/modules/app/src/app/front/swordfish.go

@@ -619,7 +619,7 @@ func wxvisitD(sid, userId string) (objdata map[string]interface{}) {
 }
 func (f *Front) GetRecomKWs() {
 	count, _ := f.GetInteger("count")
-	f.ServeJson(public.RecomKws.GetRecomKws(f.GetString("value"), count))
+	f.ServeJson(public.RecomKws.GetRecomKws(f.GetString("value"), count, float32(config.Sysconfig["recommendThreshold"].(float64))))
 }
 
 //记录用户行为--推荐关键词

+ 4 - 1
src/jfw/public/recomKws.go

@@ -25,7 +25,7 @@ type recomKws struct {
 	model   *Model
 }
 
-func (rk *recomKws) GetRecomKws(value string, count int) []*map[string]interface{} {
+func (rk *recomKws) GetRecomKws(value string, count int, recommendThreshold float32) []*map[string]interface{} {
 	rk.reqPool <- true
 	defer func() {
 		<-rk.reqPool
@@ -78,6 +78,9 @@ func (rk *recomKws) GetRecomKws(value string, count int) []*map[string]interface
 			pw, _ := rk.model.MostSimilar(strings.Split(v, "+"), []string{}, maxCount)
 			for k, p := range pw {
 				p.Word = strings.TrimSpace(p.Word)
+				if sim := p.Sim; sim < recommendThreshold {
+					continue
+				}
 				if p.Word == "" || !randomNum[k] || allKeyMap[p.Word] || len([]rune(p.Word)) == 1 {
 					continue
 				}