mysql - 如何使用像google这样的匹配功能从mysql查询返回不完整或相似的单词

标签 mysql

如何使以下查询也返回“cluburba”或“cluburban”或“club.urban”?

SELECT * 
FROM Companies 
WHERE MATCH(`Designor Names`) AGAINST ('Cluburban' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION) 
GROUP BY `Designor Names`

最佳答案

这是一个棘手的问题。我假设搜索词是 'cluburban'...

幸运的是,如果您与 'cluburban' 匹配,它应该同时选择 'cluburban''club.urban'将分别查找这两个单词。但是您的代码需要弄清楚单词应该首先用空格分隔。

您可以首先通过某种第三方拼写检查或字典查找来运行您的搜索词,并希望它返回 'cluburban' 作为可能的结果,并同时运行原始词和通过 MATCH AGAINST 进行任何可能的操作,但这不会返回 'cluburba'

我怀疑 MySQL 可能无法满足您开箱即用的需求,我会寻找其他插件或软件包来实现此目的。

此外,正确的拼写是designer,而不是designor

关于mysql - 如何使用像google这样的匹配功能从mysql查询返回不完整或相似的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34590094/

相关文章:

mysql - 我可以降低 MySQL 速度以突出显示哪个查询导致速度缓慢吗?

php - 获取数组作为 AJAX 的响应

php - SQL Order By - 条件不起作用

mysql - MySQL 中不区分大小写的 unicode 排序规则

php - 产品列表查询中月销售额

php - 通过php导入csv文件到mysql

mysql - 如果表中没有错误值,则警告用户 (Mysql + C)

java - spring data jpa无法插入

mysql - 如何改进SQL查询

mysql - mysql如何更新自己的表工作