我有一个表格产品,用户需要能够在文本字段中使用自动完成功能搜索产品。 但是,当人们在名字中犯了一些小错误时,我也希望它也能被发现。
需要什么
我所有的标题都是这样形成的:[品牌] [productnamename] [versionname] 例如,我有一个产品&#f; foo evo HD3455'当我输入“foo”时,我需要找到它。或者' evo'或者' HD2455'或者它们的一部分,但也当他们输入HD3455' froo eno HD3455'例如,他们需要找到它
我有什么
我有这个SQL查询:
SELECT * FROM `product` WHERE SOUNDEX(title) LIKE CONCAT('%',SUBSTRING(SOUNDEX('here the search text'),2),'%')
什么不行?
它适用于品牌,即使你在名称上犯了一点错误,但是当我搜索[productname]或[versionname]时,它确实无效。当我首先输入[品牌]然后输入[版本名称]时,显示的[版本名称]的结果不会显示。
我需要的地方
我将其用于自动填充字段,以便用户可以轻松找到产品,即使他们在搜索文本中出错。
我无法使用全文搜索,因为我使用的是innoDB