如何使以下查询也返回“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/