Re[2]: полнотекстовый поиск в mysql
От: micromaze  
Дата: 15.03.08 12:13
Оценка:
Здравствуйте, goldblueranger, Вы писали:

G>Здравствуйте, ahabr, Вы писали:


A>>Может кто-нибудь подскажет мне как в mysql сделать чтобы полнотекстовый поиск был регистронезависимым для русского языка. Данные хранятся в utf8 и для полей по которым идет поиск выбрано utf8_general_ci


G>Не уверен в своей правоте, но напишу соображения.

G>MySQL 5.0 не поддерживает русский язык в utf8. (имеется в виду операции uppercase(), lowercase(), сортировка, и Ignoring diacritics (т.е. не различать при поиске 'е' и 'ё' — иногда полезно искать не задумываясь о том как ввели в базу "Звездный" или "Звёздный"))

G>http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html


G>Почему я так думаю?

G>Заглянув в исходники, вижу, что в utf8_general_ci описываются операции с 255 байтами (usa7), что явно не достаточно чтобы покрыть русский язык.

G>Почему не поддерживает?

G>В русскоговорящих странах нет ни коммьюнити, ни пользователей которые платят деньги за mysql (а если и есть, то они не требуют такой фичи)

G>Почему не пользуются системными (Windows) функциями?

G>Наверно потому же, что и предыдущее.

G>Что делать? (если не нашли свой язык в <show collation like 'utf8%'> )

G>Либо:
G>1. Самому сделать utf8_russian_ci (или заюзать системные чарсеты) в MySQL и собрать версию (и не забыть послать патч в MySQL)
G>2. Заплатить кому-то денег чтобы он это сделал
G>3. "Надавить" на MySQL и доказать что они должны это сделать сами
G>4. Забить

G>Welcome to opensource


G>(но предварительно обратиться в MySQL support, может я тут нагнал)


Воистину так! Вот ж...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.