【问题标题】:Why FULLTEXT index is not being populated - MYSQL为什么没有填充 FULLTEXT 索引 - MYSQL
【发布时间】:2010-12-29 13:19:02
【问题描述】:

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

ADD FULLTEXT `genre` (
`genre`
)

查询执行,但基数仍然只有 1(即使我有几千条记录)

我尝试了分析、修复,但似乎都没有更新索引。如果我创建一个常规索引,基数会立即更新。

即使我知道匹配项,对索引的选择也会返回一个空集。

【问题讨论】:

    标签: sql mysql full-text-search


    【解决方案1】:

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

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

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

    但是,索引不会索引长度小于ft_min_word_len 字符(默认为4)的单词,因此查询不会匹配它们。

    能否请您发布您认为应该有效但无效的查询?

    【讨论】:

    • 宾果游戏。我的匹配行只有 3 个单词。我刚刚切换到在 INDEX 上使用 LIKE,性能差异可以忽略不计。谢谢!
    • @Eddie:您也可以在MySQL设置中更改ft_min_word_len
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多