2

我对 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”。

我试图更改字符集定义,并重建全文索引但没有。

有任何想法吗?改变字符串的存储方式不取决于我。谢谢!

4

1 回答 1

0

我不是很清楚你的问题,但看看这里:

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

他们在那里解释了布尔模式下_、+、*、-、<>等之间的区别

于 2012-06-28T20:37:41.220 回答