查询输入的文本(关键字)
本文关键字:关键字 文本 输入 查询 | 更新日期: 2023-09-27 18:19:02
我需要写一个查询在数据库中搜索字符串(关键字)。
当用户输入一些像"衣服"这样的文本时,查询应该在整个数据库ProductName, ProductCode, SubCategoryName, etc
中搜索"衣服"关键字,并搜索接近/类似的文本。所以它应该显示所有与"衣服"相关的产品,类似于谷歌搜索引擎。
还包括拼写错误,如"Clotts","Clothos"或"Clothos",那么它应该显示"衣服"相关的项目。
如果需要澄清,请留下评论。
我使用VS2010 c#, MySql 5.5数据库
当用户输入像"衣服"这样的文本时,查询应该在整个数据库中搜索"衣服"关键字
SELECT f1,f2,f3 FROM table1
WHERE match (f1,f2,f3) AGAINST ('$search_term' IN NATURAL LANGUAGE MODE)
请注意,在MySQL全文检索需要MyISAM表。
它也不能修复拼写错误。
还包括拼写错误,如"Clotts","Clothos"或"Clothos",那么它应该显示"衣服"相关的项目。
你正在寻找一个包含Levenshtein距离的算法
有些人写了UDF,你可以安装MySQL(作为Windows上的dll),给你这个功能:参见:http://samjlevy.com/2011/03/mysql-levenshtein-and-damerau-levenshtein-udfs/
该链接甚至包括如何安装UDF。