Поиск MySQL с uft8_general_ci чувствителен к регистру для FULLTEXT?

Я настроил таблицу MyISAM для поиска FULLTEXT. Я не хочу, чтобы при поиске учитывался регистр.

Мои поиски идут по строкам:

SELECT * FROM search WHERE MATCH (keywords) AGAINST («+разнообразие +котенок» В БУЛЕВОМ РЕЖИМЕ);

Допустим, поле ключевых слов, которое я ищу, имеет значение «мой котенок Diversity».

Я заметил, что поиск чувствителен к регистру. Я дважды проверил свою сортировку в таблице поиска, она была установлена ​​​​на utf8_bin. О! Я изменил его на utf8_general_ci.

Но мой запрос по-прежнему чувствителен к регистру! Почему?

Есть ли настройки сервера, которые мне тоже нужно изменить?

Есть ли что-то, что мне нужно сделать, кроме изменения сортировки?

Я сделал «REPAIR TABLE search QUICK», чтобы перестроить индекс FULLTEXT, но это тоже не помогло...

Мои поиски по-прежнему чувствительны к регистру. знак равно


person Tev    schedule 09.02.2011    source источник
comment
Таблица может быть utf8_general_ci, но столбцы?   -  person Piskvor left the building    schedule 09.02.2011


Ответы (2)


Ага, на этот раз разобрался по-настоящему.

Я считаю, что моя проблема заключалась в использовании NaviCat для обновления сопоставления. У меня старая версия NaviCat, может быть, это была ошибка или что-то в этом роде.

Делает:

ИЗМЕНИТЬ ТАБЛИЦУ поиска ПРЕОБРАЗОВАТЬ В НАБОР СИМВОЛОВ utf8 COLLATE utf8_general_ci;

правильно исправил.

Всегда используйте командную строку, дети! знак равно

person Tev    schedule 09.02.2011

Хм, такое поведение не соответствует руководству:

По умолчанию поиск выполняется без учета регистра. Однако вы можете выполнять полнотекстовый поиск с учетом регистра, используя двоичную сортировку для индексированных столбцов. Например, столбцу, который использует набор символов latin1, можно назначить сопоставление latin1_bin, чтобы сделать его чувствительным к регистру для полнотекстового поиска.

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

person Stefan Gehrig    schedule 09.02.2011