平常我们项目中存放类似于标签这种东西的时候,可能第一时间想到的就是beego,go,gin
这种方式以,
作为分隔符,但是这样是有弊端的,如果我想要通过模糊查询检索关键词go
,这里我们会发现beego
也会被检索到,那么我们有什么办法可以避免这种情况呢?
可以按照以下格式分割标签:
$beego#$go#$gin#
每一个标签插入数据库的时候都以$
开头,#
结尾,查询的时候我们也在传入的关键词前后加上$...#
,这样我们就可以避免上述情况了,我们再想模糊查询检索关键词go
,传下去的数据会被修改成$go#
可以发现,这时候beego
就不会被检索到了!!!!
例子:
// 处理前:bee beego gin go
label = "$" + strings.Join(strings.Split(label, " "), "#$") + "#"
// 处理后:$bee#$beego#$gin#$go#