Kazuhiko
kazuh****@fdiar*****
2013年 3月 1日 (金) 18:10:47 JST
On 01/03/2013 02:14, Kouhei Sutou wrote: >> あれれ、と思って、mysqlでdumpしてrestoreしなおしたら、ちゃんと >> "--normalizer NormalizerMySQLUnicodeCI" になりました! >> >> そして、もちろん意図通りに検索できました! >> >> たぶん、mariadb/test.mrnがバージョンアップ前からいてたとか、そういうこと >> かもしれません。 > > あ、groonga-normalizer-mysql 1.01とmroonga 3.01をインストール > (ちゃんとMySQLを再起動するかUNINSTALL PLUGIN/INSTALL PLUGIN > しなおすこと)する前に作ったテーブルだからじゃないかと思いま > す。インストール後に新しく作ったテーブルからutf8_unicode_ciを > NormalizerMySQLUnicodeCIにマップするようになるんですよ。 > > データベースは作りなおさなくても動くようにしているつもりです! 新規database、新規tableでやってみたらNormalizerAutoになっているようです。 CREATE TABLE `full_text` ( `uid` bigint(20) unsigned NOT NULL, `SearchableText` mediumtext COLLATE utf8_unicode_ci, PRIMARY KEY (`uid`), FULLTEXT KEY `SearchableText` (`SearchableText`) ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci $ mysqldump test > test.sql $ mysql -e 'drop database test' $ mysql -e 'create database test' $ echo dump | groonga srv/mariadb/test.mrn| grep normalizer db open failed (srv/mariadb/testtest.mrn): syscall error 'srv/mariadb/test.mrn' (No such file or directory) # この時点ではまだmrnファイルはない。 $ mysql test < test.sql $ echo dump | groonga srv/mariadb/test.mrn| grep normalizer table_create full_text-SearchableText TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto # できたmrnファイルがNormalizerAutoになっている $ echo register normalizers/mysql | groonga srv/mariadb/test.mrn [[0,1362128168.65474,0.00142598152160645],true] $ echo dump | groonga srv/mariadb/test.mrn| grep normalizer table_create full_text-SearchableText TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto # registerしただけでは変化なし(これはおかしくない) $ mysql test < test.sql $ echo dump | groonga srv/mariadb/test.mrn| grep normalizer table_create full_text-SearchableText TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerMySQLUnicodeCI # もういちどsqlを入れなおすとNormalizerMySQLUnicodeCIになった インストールは、INSTALL PLUGINじゃなくて、my.cnfで plugin-load = ha_mroonga.so でやっていますけど、それは関係ありませんよね? かずひこ