ai_xiaopei
9 days ago 4cd5499d60a851a59723067e74a4a92f7254b8e9
internal/search/scorer.go
@@ -11,11 +11,29 @@
   "可以", "需要", "应该", "是否", "有没有",
}
// EntityWords 实体词列表(进一步降低权重,因为这些词会匹配大量文件)
var EntityWords = []string{
   "智能枪", "电子秤", "智能阀", "艾信盒子",
   "电子秤平台", "运营管理平台", "易配送", "lpg",
   "安全用气", "艾信助手", "艾信发货",
}
// IsGenericWord 判断是否为通用词
func IsGenericWord(word string) bool {
   word = strings.ToLower(word)
   for _, g := range GenericWords {
      if word == g {
         return true
      }
   }
   return false
}
// IsEntityWord 判断是否为实体词
func IsEntityWord(word string) bool {
   wordLower := strings.ToLower(word)
   for _, e := range EntityWords {
      if wordLower == strings.ToLower(e) {
         return true
      }
   }
@@ -59,8 +77,21 @@
   if base == 0 {
      return 0
   }
   // 实体词降权(匹配太多文件),但保证至少 1 分
   if IsEntityWord(keyword) {
      score := base / 5
      if score < 1 {
         score = 1
      }
      return score
   }
   // 通用词降权,但保证至少 1 分
   if IsGenericWord(keyword) {
      return base / 10 // 通用词降权
      score := base / 3
      if score < 1 {
         score = 1
      }
      return score
   }
   return base
}