微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用“MATCH ... AGAINST”和 GROUP_CONCAT 进行标签搜索

如何解决如何使用“MATCH ... AGAINST”和 GROUP_CONCAT 进行标签搜索

苏,我正在为我的网站做一个搜索机制,我有这张表:

MysqL> SELECT * FROM tags_produto;

:----:---------:-----------:
| id | tags_id | tags      |
:----:---------:-----------:
|  1 |       1 | escultura |
|  2 |       1 | grande    |
|  3 |       2 | escultura |
|  4 |       2 | grande    |
|  5 |       2 | incolor   |
|  6 |       3 | escultura |
|  7 |       3 | medio     |
|  8 |       3 | pintado   |
:----:---------:-----------:

我正在尝试将 GROUP_CONCAT 函数与 MATCH... AGAINST 函数结合使用,以返回与网站中所选标签匹配的行。这是我想出的查询

SELECT id,tags_id,GROUP_CONCAT(tags) AS tags
FROM tags_produto WHERE MATCH (tags) AGAINST ('+escultura +grande' IN BOOLEAN MODE)
GROUP BY tags_id;

很有趣,如果我在一个已经连接了“标签”(并且不需要 GROUP_CONCAT)的表上使用这个查询,它工作正常,但在这种情况下它返回 0 行。我没有想法,你们能帮我一把吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。