在 MySQL 全文搜索中处理拼写错误的最佳方法
·
问题:在 MySQL 全文搜索中处理拼写错误的最佳方法
我在 mysql 数据库中有大约 2000 行。
每行最多 300 个字符,包含一两个句子。
我使用 mysql 内置的全文搜索来搜索这些行。
如果可能,我想添加一个功能,以便更正拼写错误和意外拼写错误。
例如,如果有人在搜索框中键入“右肩”,则在执行搜索时这将等同于“右肩”。
您对添加此类功能的最简单方法有何建议?是否值得添加某种外部搜索引擎,例如 lucene? (对于这么小的数据集,这似乎有点过头了。)或者有没有更简单的方法?
解答
我认为你应该使用SOUNDS LIKE或SOUNDEX()
由于您的数据集非常小,一种解决方案可能是创建一个新表来存储每个文本字段中包含的单个单词或 soundex 值,并在该表上使用 SOUNDS LIKE。
例如:
SELECT * FROM table where id IN
(
SELECT refid FROM tableofwords
WHERE column SOUNDS LIKE 'right' OR column SOUNDS LIKE 'shlder'
)
参见:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
我相信不可能通配符搜索字符串:(
更多推荐



所有评论(0)