update
This commit is contained in:
54
scripts/diag_brand/main.go
Normal file
54
scripts/diag_brand/main.go
Normal file
@ -0,0 +1,54 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
const dsn = "root:root@tcp(127.0.0.1:3306)/db?charset=utf8mb4&parseTime=True&loc=Local"
|
||||
|
||||
func main() {
|
||||
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
// 1) brand 3100 的走秀档案数(only_with_articles 子查询依赖这个)
|
||||
var artCount int64
|
||||
db.Raw(`SELECT COUNT(*) FROM brand_runway WHERE is_deleted=0 AND brand_id=3100`).Scan(&artCount)
|
||||
fmt.Printf("brand 3100 走秀档案数 = %d\n", artCount)
|
||||
|
||||
// 2) 复现后端完整搜索:only_with_articles=1 + keyword=猿人头
|
||||
kw := "%猿人头%"
|
||||
type Row struct {
|
||||
ID uint32
|
||||
Name string
|
||||
NameEn string
|
||||
NameCn string
|
||||
}
|
||||
var rows []Row
|
||||
db.Raw(`
|
||||
SELECT id, name, name_en, name_cn FROM brand
|
||||
WHERE is_deleted=0
|
||||
AND id IN (SELECT DISTINCT brand_id FROM brand_runway WHERE is_deleted=0)
|
||||
AND (name_en LIKE ? OR name_cn LIKE ?)`,
|
||||
kw, kw).Scan(&rows)
|
||||
fmt.Printf("\n[搜索 keyword=猿人头, only_with_articles=1] 命中 %d 条:\n", len(rows))
|
||||
for _, r := range rows {
|
||||
fmt.Printf(" id=%d | name=%q | name_en=%q | name_cn=%q\n", r.ID, r.Name, r.NameEn, r.NameCn)
|
||||
}
|
||||
|
||||
// 3) 对比:only_with_articles=0(不过滤档案)时的命中
|
||||
var rows2 []Row
|
||||
db.Raw(`
|
||||
SELECT id, name, name_en, name_cn FROM brand
|
||||
WHERE is_deleted=0
|
||||
AND (name_en LIKE ? OR name_cn LIKE ?)`,
|
||||
kw, kw).Scan(&rows2)
|
||||
fmt.Printf("\n[搜索 keyword=猿人头, only_with_articles=0] 命中 %d 条:\n", len(rows2))
|
||||
for _, r := range rows2 {
|
||||
fmt.Printf(" id=%d | name=%q | name_en=%q | name_cn=%q\n", r.ID, r.Name, r.NameEn, r.NameCn)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user