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