我在寻找搜索解决方案。名称很少的产品:


USB金士顿8GB
USB Kingmax 8GB
USB创见8GB
USB Sandisk 4GB


我正在使用mysql数据库,我已经尝试了全文搜索。

SELECT * FROM PRODUCTS WHERE MATCH('productName') AGAINST ('usb 8g')

也是狮身人面像,但键入“ usb 8g”时我没有得到任何结果。但是“ usb 8gb”确实有效。

而且我还需要在用户键入“ ubs 8gb”时也返回正确的结果。

有没有像Google这样的自动识别解决方案?

最佳答案

您必须使用通配符%来匹配数据字符串的一部分。

尚未测试,但应该像这样工作:

SELECT * FROM PRODUCTS WHERE MATCH('productName') AGAINST ('usb 8g%')


附言在发送到SQL语句之前,请清理用户输入。

07-24 09:50
查看更多