0

我有一个表格产品,用户需要能够使用文本字段上的自动完成功能搜索产品。但我也希望当人们在名称上犯一些小错误时,它也会被发现。

需要什么

我所有的标题格式如下:[brand] [productnamename] [versionname] 例如,我有一个产品 'foo evo HD3455' 我需要在输入 'foo' 或 'evo' 或 'HD2455 时找到它' 或其中的一部分,但当他们键入 'froo eno HD3455' 时,他们也需要找到它

我有的

我有这个 SQL 查询:

SELECT * FROM `product` WHERE SOUNDEX(title) LIKE CONCAT('%',SUBSTRING(SOUNDEX('here the search text'),2),'%')

什么不工作

它适用于品牌,即使您在名称上犯了一点错误,但是当我搜索 [productname] 或 [versionname] 时,它就不起作用了。当我先键入 [brand] 然后键入 [versionname] 时,其中包含 [versionname] 的结果不显示。

我需要它的地方

我打算将它用于自动完成字段,以便用户可以轻松找到产品,即使他们在搜索文本中犯了错误。

我不能使用全文搜索,因为我使用的是 innoDB

4

0 回答 0