Azure SQL 数据库:某些电子邮件的全文索引不起作用

Azure SQL Database: Full text index on certain emails does not work

我在用户 table 的用户名列中定义了全文索引。当搜索查询中电子邮件中的 + 符号后面有任何字符时,没有结果。 + 是电子邮件中的有效符号。如果您能解释为什么我看到这种行为以及对此的任何解决方法,我们将不胜感激。

/* returns result */
select * from AspNetUsers where contains(username, '"foo+77@gmail.com*"')
select * from AspNetUsers where contains(username, '"foo+*"')

/* does not return result */
select * from AspNetUsers where contains(username, '"foo+77*"')
select * from AspNetUsers where contains(username, '"foo+7*"')
select * from AspNetUsers where contains(username, '"foo+77@gmail*"')

在字符前添加反斜杠 7 returns 结果。

在查询中添加反斜杠 \ 之前:

在查询中添加反斜杠 \ 后:

查询:

select * from AspNetUsers where contains(username, '"foo+*"')
select * from AspNetUsers where contains(username, '"foo+*"')
select * from AspNetUsers where contains(username, '"foo+@gmail*"')