我有三张桌子
Tags | tag_id,tag_name
Tag_link| tag_id,item_id
Item | item_id
一个Item可以有多个标签,这些标签可以是多个单词
我尝试将输入分成不同的单词
SELECT * FROM Item i
join Tag_link l on l.item_id=l.item_id
join Tags t on t.tag_id =l.tag_id
WHERE REGEXP 'test|query|yay'
但我希望在此搜索中,标记为test query yay
的项目的排名高于test
或query
,但我还需要test query
和query yay
也需要搜索。
我是否只需要在我的PHP中执行此操作并将其拆分为所有不同的组合以及要查找的内容,为每个查询分配一个数字然后对其进行排序?