我对MySQL的全文索引有一个问题,它将下划线作为单词的一部分(为什么?不知道)。这是我的表VA_-_Some_Album中的字符串
下面是对它的查询:
SELECT
*
FROM
`mytable`
WHERE
MATCH (`name`) AGAINST ('+Some* +Album*' IN BOOLEAN MODE)
ORDER BY `sdate` DESC
LIMIT 3 对于这个查询,MySQL返回一个空集,除非我将它改为+*Some*,因为下划线是单词的一部分(_Some而不是Some)。这对我不好,因为当添加额外的星号(*)时,加号停止工作,并且我无法完成" and“。
我尝试更改字符集定义,并重新构建全文索引,但没有结果。
有什么想法吗?改变字符串的存储方式不是我的事。谢谢!
发布于 2012-06-29 04:37:41
我不太清楚你的问题,但看看这里:
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html
它们解释了布尔模式下_、+、*、-、<>等之间的区别
https://stackoverflow.com/questions/11251967
复制相似问题