我读过关于mysql中的全文搜索功能。但在这些方法中,您必须搜索完全正确的拼写完整的单词。Mysql全文搜索 - 搜索关键字的一部分
例如,如果您的文本包含 '2009年的Bitdefender',你搜索一下,你什么也得不到
SELECT * FROM日志WHERE MATCH(日志)AGAINST( '位09' IN BOOLEAN MODE);
那么有没有解决方案呢?
(是否有这将让你寻找拼错的关键字,以及一个技术?比如你搜索Bitdefedner)
我读过关于mysql中的全文搜索功能。但在这些方法中,您必须搜索完全正确的拼写完整的单词。Mysql全文搜索 - 搜索关键字的一部分
例如,如果您的文本包含 '2009年的Bitdefender',你搜索一下,你什么也得不到
SELECT * FROM日志WHERE MATCH(日志)AGAINST( '位09' IN BOOLEAN MODE);
那么有没有解决方案呢?
(是否有这将让你寻找拼错的关键字,以及一个技术?比如你搜索Bitdefedner)
你也可以转向Lucene或其他专业搜索引擎中提到的https://stackoverflow.com/questions/553055/best-full-text-search-for-mysql
你可能需要的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
您可以使用通配符* AGAINST( '位* 09' IN布尔MODE)
对于拼写错误关键字,您需要单独的拼写检查阶段。