现在很多网站都在使用TAG,请问下,如果要搜出当且仅当所有的TAG都被满足时,才把记录取出来,hql支持这种方法吗?
比如:
搜索 美食,餐厅
需要的结果是 只有这两个标签的数据才被搜出,多一个少一个都不行,能做到吗?
现在很多网站都在使用TAG,请问下,如果要搜出当且仅当所有的TAG都被满足时,才把记录取出来,hql支持这种方法吗?
比如:
搜索 美食,餐厅
需要的结果是 只有这两个标签的数据才被搜出,多一个少一个都不行,能做到吗?
hql写是可以写, 也就是用like来匹配这些tag,都匹配上了就OK了, 不过我估计性能不怎么样, 每个tag都得 like '%tag%'一次, 而且还是全部满足.一般的做法就是在数据库中做个全文索引, 也就是传说中的Lucene了, 然后检索出符合的tag, 返回符合的记录(可以从检索的结果中拿到该条记录的id的)