gpt4 book ai didi

Mysql查询标签搜索具有相关性

转载 作者:行者123 更新时间:2023-11-29 13:08:00 25 4
gpt4 key购买 nike

我需要有关在多列中创建全文搜索的帮助。

最后查询应返回“biz_name”,首先与“business”表匹配,然后与“tags”表匹配,然后从“Business_tags”表中选择 biz_id,然后将所有结果与“Business 表”中的优先结果放在一起。

简单解释一下,当有人搜索银行时,他们应该能够获得包含“银行”的企业名称以及带有“银行”标签的企业。

请考虑三个表格:

业务表标签表

|biz_id |biz_name      |       |tag_id |tag_name|    
|----------------------| |----------------|
|001 |Mac burger | |101 |cafe |
|002 |Citi bank | |102 |burger |
|003 |Lou’s Cafe | |103 |drink |
|004 |Baltic pub | |104 |bank |
|005 |T2 Restaurant | |105 |loan |

Business_tags 表

|biz_id |tag_id |           
|---------------|
|001 |102 |
|002 |105 |
|002 |104 |
|003 |101 |
|003 |103 |
|004 |103 |
|005 |102 |
|005 |101 |

我不能不使用联合,因为我有不同数量的列。感谢您的帮助。

最佳答案

您可以将三个表连接在一起,还可以对名称进行文本搜索。

SELECT business.biz_name
FROM business,business_tags,tags
WHERE business.biz_id = business_tags.biz_id
AND business_tags.tag_id = tags.tag_id
AND (business.biz_name LIKE '%bank%' OR tags.tag_name = 'bank')

这会达到你想要的效果吗?

关于Mysql查询标签搜索具有相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22447443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com