在布尔模式中具有空字符串的FULLTEXT INDEX给出错误"";语法错误,意外$end,应为FT


MATCH (a2.name, a2.email) AGAINST ("key*" IN BOOLEAN MODE) //this works
MATCH (a2.name, a2.email) AGAINST ("*" IN BOOLEAN MODE) //doesn’t work 

我的一个选择是基于密钥存在编写2个查询。还有其他选择吗?

您的应用程序必须注意到用户提供了一个空字符串,并执行与盲目地将其放入AGAINST不同的操作。在这种情况下,将FT子句排除在WHERE之外可能是"正确的",但也可能是"缓慢的"。

此外,您可能希望避免使用1个字符和2个字符的字符串。还有带标点符号的字符串。停止说话。

有时,当用户提供了一些你可以预测FT将"退出"的东西时,恢复到CCD_ 3是明智的;做错事";。

相关内容

最新更新