为什么没有填充FULLTEXT索引 - MYSQL

时间:2009-12-23 16:22:58

标签: sql mysql full-text-search

我正在尝试为表添加全文索引,但它似乎不适用。

ADD FULLTEXT `genre` (
`genre`
)

查询执行,但基数保持在1(即使我有几千条记录)

我试过ANALYZE,REPAIR,似乎都没有更新索引。如果我创建一个常规索引,基数会立即更新。

对索引的选择返回ans空集,即使我知道匹配。

1 个答案:

答案 0 :(得分:2)

基数对FULLTEXT索引没有多大意义,因为一个记录可以被多个键引用(每个单词一个键)。

如果查询完全适用,FULLTEXT索引将始终用于查询:

SELECT  *
FROM    genre
WHERE   MATCH(genre) AGAINST ('mystring')

但是,索引不会将长度小于ft_min_word_len个字符的单词编入索引(默认情况下为4),因此查询将不匹配。

请您发布您认为应该有效的查询,但不是吗?