From 4cd5499d60a851a59723067e74a4a92f7254b8e9 Mon Sep 17 00:00:00 2001
From: ai_xiaopei <xiaopei@aisim.cn>
Date: Sun, 26 Jul 2026 23:16:32 +0800
Subject: [PATCH] feat: 新增classify和reorg命令,修复help格式

---
 internal/search/scorer.go |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/internal/search/scorer.go b/internal/search/scorer.go
index ae676b4..03c2e17 100644
--- a/internal/search/scorer.go
+++ b/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
 }

--
Gitblit v1.9.1