0

我想在我的表上进行复数搜索,但我不想使用 FULLTEXT。我尝试了 FULLTEXT,但我的表不支持它。我的查询如下:

SELECT
     *
FROM
     items
WHERE
     LOWER(items.`name`) LIKE '%parameter%'
OR LOWER(items.brand) LIKE '%parameter%'
OR LOWER(items.sku) LIKE '%parameter%'

当我搜索“衬衫”时,当我搜索我不搜索的衬衫时,它会返回良好的结果。有没有办法在没有全文的情况下进行复数搜索

4

2 回答 2

1

我建议您使用MyIsam 引擎为具有要执行搜索和主 ID 的字段的项目创建单独的表项目。

现在您可以对新表进行全文搜索并检索 ID,并且基于 ID 您可以从主项目表中检索字段的结果。

“项目”的附加表需要定期更新,可能是通过触发器或自动脚本。

于 2013-01-24T10:15:00.073 回答
0

它将匹配所有以传递参数开头的参数。

SELECT
     *
FROM
     items
WHERE
     LOWER(items.`name`) LIKE 'parameter%'
OR LOWER(items.brand) LIKE 'parameter%'
OR LOWER(items.sku) LIKE 'parameter%'
于 2013-01-24T10:09:55.133 回答