MySQL InnoDB全文搜索:搜索电子邮件

时间:2015-12-01 15:23:42

标签: mysql full-text-search innodb

我们正在使用v5.6中引入的InnoDB FTS功能,并且在构建搜索时遇到问题,无法有效地查找电子邮件地址。

不允许@符号(它会抛出错误)和'。'似乎把事情搞砸了。例如:

for:user@email.com

由于@符号而产生错误:

SELECT * FROM table WHERE MATCH (email) AGAINST ('+user@email.com*' IN BOOLEAN MODE)

因为句号而没有返回结果:

SELECT * FROM table WHERE MATCH (email) AGAINST ('+user* +email.com*' IN BOOLEAN MODE)

这会返回一个结果,但不是那么完整:

SELECT * FROM table WHERE MATCH (email) AGAINST ('+user* +email*' IN BOOLEAN MODE)

使用电子邮件地址作为搜索字词时,是否有人可以提供改进FTS搜索方法的见解和建议?

0 个答案:

没有答案