如何使用“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 (将#修改为@)