Почему индекс FULLTEXT не заполняется - MYSQL - PullRequest
2 голосов
/ 23 декабря 2009

Я пытаюсь добавить полнотекстовый индекс к таблице, но, похоже, он не применяется.

ADD FULLTEXT `genre` (
`genre`
)

Запрос выполняется, но количество элементов остается равным 1 (хотя у меня есть несколько тысяч записей)

Я попытался АНАЛИЗ, РЕМОНТ, и ни один, казалось, не обновил индекс. Если я создаю регулярный индекс, количество элементов обновляется немедленно.

Выбор по индексу возвращает пустой набор, хотя я знаю совпадений.

1 Ответ

2 голосов
/ 23 декабря 2009

Количество элементов не имеет большого смысла для индексов FULLTEXT, поскольку на одну запись могут ссылаться несколько ключей (по одному ключу на слово).

Индекс FULLTEXT всегда будет использоваться для запроса, если он вообще применяется:

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

Индекс, однако, не будет индексировать слова длиной менее ft_min_word_len символов (что по умолчанию равно 4), и, следовательно, запрос не будет соответствовать им.

Не могли бы вы опубликовать запрос, который, по вашему мнению, должен работать, но это не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...