我的客户坚持通过字符串的任何部分搜索多个列。所以我正在尝试这样做:
... MATCH(smth, smth2) AGAINST('*string*' IN BOOLEAN MODE)
索引或快速搜索不是必需的,所以即使 MATCH.. AGAINST 不使用索引 - 也可以。但问题是带前缀的通配符不起作用 - 只有单词后面的通配符起作用:
*string* - will match the same as string* and *string does not match anything
有没有办法用MYSQL解决这个问题?我真的不打算安装任何索引服务或类似的东西,所以慢查询将不得不这样做。
我可以尝试以某种方式在多个列上使用 LIKE,但我想这会更慢。
最佳答案
Mysql 全文搜索不允许我们使用 * 作为匹配搜索的前缀..
检查此以供引用:
http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html
关于mysql - mysql全文搜索中的前缀和后缀通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13857436/