我已经阅读了mysql中的全文搜索功能。但是在这些方法中,你必须搜索完全正确拼写的完整单词。
例如,如果您的文本包含“Bitdefender 2009”并且您搜索了Bit,那么您什么都得不到
SELECT * FROM logs WHERE MATCH(log)AGAINST('Bit 09'IN BOOLEAN MODE);
那么有什么解决方案吗?
(是否有一种技术可以让您搜索拼写错误的关键字?例如,您搜索Bitdefedner)
答案 0 :(得分:0)
您可能需要LIKE
,REGEXP
,AGAINST
或SOUNDEX
函数的帮助。
看看以下内容:
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex
答案 1 :(得分:0)
你可以使用*通配符AGAINST('Bit * 09'IN BOOLEAN MODE)
对于拼写错误的关键字,您需要单独的拼写检查阶段。
答案 2 :(得分:0)
您还可以使用https://stackoverflow.com/questions/553055/best-full-text-search-for-mysql
中提到的Lucene或其他专业搜索引擎