我的客户端坚持在字符串的任何部分搜索多个列。所以我想这样做:
... 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,但我想这会更慢。
答案 0 :(得分:3)
Mysql全文搜索不允许我们在匹配搜索时使用*作为前缀..
选中此项以供参考:
http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html