info****@webmk*****
info****@webmk*****
2016年 2月 15日 (月) 16:57:25 JST
茅野と申します。 groonga(mroonga)の機能をひととおり学び、少しずつ細かな機能を見ていると ころです。 MySQLの操作にphpMyAdminを利用しているのですが、ダンプしたデータをイン ポートする際、ノーマライザーを指定したカラムでエラー になってしまいます。 具体的には、以下のページ http://mroonga.org/ja/docs/tutorial/storage.html?highlight=%E3%83%8E%E3%83%BC%E3%83%9E%E3%83%A9%E3%82%A4%E3%82%B6%E3%83%BC の「4.3.4. ノーマライザーの指定方法」で作成するテーブルです。 以下のSQLは、phpMyAdminで正しく動作します。 CREATE TABLE diaries_test ( day DATE PRIMARY KEY, content VARCHAR(64) NOT NULL, FULLTEXT INDEX (content) COMMENT 'normalizer "NormalizerAuto"' ) Engine=Mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ただしこのスキーマをphpMyAdminでいったんエクスポートし、それを今度は同じ くphpMyAdminでインポートしようとすると、以下 のエラーが発生します。 SQL query: ALTER TABLE `diaries_test` ADD FULLTEXT KEY `content` (`content`) COMMENT='normalizer "NormalizerAuto"' MySQL のメッセージ: ドキュメント #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='normalizer "NormalizerAuto"'' at line 1 エラーメッセージの通り、コメントの部分でエラーとなっているようです。 そこでダンプしたデータを見ると、このようになっています。 DROP TABLE IF EXISTS `diaries_test`; CREATE TABLE `diaries_test` ( `day` date NOT NULL, `content` varchar(64) COLLATE utf8_unicode_ci NOT NULL ) ENGINE=Mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ALTER TABLE `diaries_test` ADD PRIMARY KEY (`day`); ALTER TABLE `diaries_test` ADD FULLTEXT KEY `content` (`content`) COMMENT='normalizer "NormalizerAuto"'; 原因はおそらく「FULLTEXTのインデックスをALTER」でやっているからかな、と 思うのですが、phpMyAdminでエラー無くイン ポートする方法はありますでしょ うか?どこかのオプションを変更すればいいのかと思いましたが、残念ながら見 つけることができませんでした。 ダンプしたSQLを書き換えれば無事インポートできるとは思いますが、それもい ちいち面倒なので。 もしわかりましたらご教授いただければありがたいです。 また他の質問になるのですが、このメーリングリストの過去のアーカイブは、月 をまたがって検索ができるのでしょうか? 以下のページで表示されている全ての月のアーカイブに対して、1アクションで (各月のテキストを開くことなしに)検索ができればと思っています。 https://osdn.jp/projects/groonga/lists/archive/dev/