我在寻找搜索解决方案。名称很少的产品:
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语句之前,请清理用户输入。