【发布时间】:2010-12-29 13:19:02
【问题描述】:
我正在尝试为表格添加全文索引,但它似乎不适用。
ADD FULLTEXT `genre` (
`genre`
)
查询执行,但基数仍然只有 1(即使我有几千条记录)
我尝试了分析、修复,但似乎都没有更新索引。如果我创建一个常规索引,基数会立即更新。
即使我知道匹配项,对索引的选择也会返回一个空集。
【问题讨论】:
标签: sql mysql full-text-search
我正在尝试为表格添加全文索引,但它似乎不适用。
ADD FULLTEXT `genre` (
`genre`
)
查询执行,但基数仍然只有 1(即使我有几千条记录)
我尝试了分析、修复,但似乎都没有更新索引。如果我创建一个常规索引,基数会立即更新。
即使我知道匹配项,对索引的选择也会返回一个空集。
【问题讨论】:
标签: sql mysql full-text-search
基数对FULLTEXT 索引没有什么意义,因为一条记录可以被多个键引用(每个词一个键)。
FULLTEXT 索引将始终用于查询(如果它完全适用):
SELECT *
FROM genre
WHERE MATCH(genre) AGAINST ('mystring')
但是,索引不会索引长度小于ft_min_word_len 字符(默认为4)的单词,因此查询不会匹配它们。
能否请您发布您认为应该有效但无效的查询?
【讨论】:
@Eddie:您也可以在MySQL设置中更改ft_min_word_len。