1
This commit is contained in:
+6
-2
@@ -29,7 +29,8 @@ func Tokenize(text string) string {
|
||||
return strings.TrimSpace(sb.String())
|
||||
}
|
||||
|
||||
// TokenizeQuery FTS5 查询串:每个词用双引号包裹(AND 语义),过滤 FTS5 特殊字符
|
||||
// TokenizeQuery FTS5 查询串:过滤 FTS5 特殊字符与单字虚词,OR 语义。
|
||||
// 中文问题分词后通常只有少数词与文档重合,AND 全命中会空召回,OR + BM25 排序更稳健。
|
||||
func TokenizeQuery(text string) string {
|
||||
tokens := seg.Cut(text, true)
|
||||
var parts []string
|
||||
@@ -41,7 +42,10 @@ func TokenizeQuery(text string) string {
|
||||
if strings.ContainsAny(t, "\"*:()") {
|
||||
continue
|
||||
}
|
||||
if len([]rune(t)) < 2 {
|
||||
continue
|
||||
}
|
||||
parts = append(parts, "\""+t+"\"")
|
||||
}
|
||||
return strings.Join(parts, " ")
|
||||
return strings.Join(parts, " OR ")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user