【发布时间】:2013-12-16 21:13:37
【问题描述】:
发布这个,这样我也许可以从几个小时的搜索中节省一些其他可怜的 sap,或者更好的是,从 MySQL 领域中比我更聪明的人那里获得更好的答案。 ;-)
如何在使用 FULLTEXT 索引搜索 MySQL 时指定我只想要以特定字符串开头或结尾的匹配项?
本质上,我想要
的行为SELECT `idColumn` FROM `someTable` WHERE `textColumn` LIKE '%foo';
一个简单的索引和上面的查询是不行的,因为 MySQL 不会将索引用于以通配符开头的查询。所以我添加了一个 FULLTEXT 索引并开始使用以下内容进行查询:
SELECT `idColumn` FROM `someTable` WHERE MATCH(`textColumn`) AGAINST ('foo');
接近,但匹配 textColumn 中的任何地方的 'foo'。
编辑:这是 MySQL 5.6.1 上的 InnoDB 表
如何限制它只在结尾(或开头)匹配?
【问题讨论】: