wakis****@gmail*****
wakis****@gmail*****
2012年 8月 8日 (水) 15:04:36 JST
須藤様へ、 wakisukeです。 早急なご連絡ありがとうございます! 教えていただいた通り調べてみました。 まずMecabの文字コードですが、utf8で動作しています。 コマンドライン上もutf8設定で正常に表示できていますので、Mecabは完全にutf8で動作しています。 以下は教えていただいたコマンド結果です。 mecab -D | grep charset charset: utf8 mroongaのログですが、いろいろやってみましたが、関係ありそうなのは1つありました。 (ログ出力レベルを'DUMP'に設定しています、確認不足のため最初のメールで提示できておらず申し訳ありません) /etc/init.d/mysqld start時のmroonga.logの中に 14:27:27.708247|e|0af807e0|mecab_new2 failed in check_mecab_dictionary_encoding というものと、 テーブル生成時のmroonga.logの中に 14:38:16.616136|e|a06d7700|mecab_new2 failed in check_mecab_dictionary_encoding という同じ内容のメッセージがありました。 憶測ですが、mroonga自身が持っているMecab設定がutf8以外に設定されており、 groonga起動時に実際に読み込んだMecabの文字コードがutf8で設定に合わない。 といった感じなのでしょうか、 たしか、mroongaをインストールさせた後、mecabの辞書を再コンパイルしてutf8に書き換えた気もします。 (曖昧で申し訳ないです) 以上、私なりに推測を立ててみたのですが、 もしこの場合、groongaの再インストール時のアンインストール方法を私がミスしている可能性もあります。 念のため、私が行ったアンインストール時のコマンドを載せます。 yum remove *mroonga* yum remove *groonga* 以上となります。 ご指示いただけたら幸いです。 以下がMysql再起動 /etc/init.d/mysqld start時のgroonga.logと、 テーブル作成 create table hoge ( id int primary key auto_increment, content varchar(255), fulltext index(content)) engine = mroonga;時のgroonga.logです cat groonga.log_restart 2012-08-08 14:37:35.469991|n|a8c177e0|mroonga 2.05 started. 2012-08-08 14:37:35.470024|n|a8c177e0|log level is 'DUMP' 2012-08-08 14:37:35.471598|e|a8c177e0|mecab_new2 failed in check_mecab_dictionary_encoding 2012-08-08 14:37:35.473364|e|a8c177e0|/usr/lib64/groonga/plugins/tokenizers/mecab.so(grn_plugin_impl_init+0x22e) [0x7f0e9cc2ee7e] 2012-08-08 14:37:35.473376|e|a8c177e0|/usr/lib64/libgroonga.so.0(grn_plugin_open+0x4f9) [0x7f0ea332fde9] 2012-08-08 14:37:35.473382|e|a8c177e0|/usr/lib64/libgroonga.so.0(grn_plugin_register_by_path+0x674) [0x7f0ea3330d54] 2012-08-08 14:37:35.473388|e|a8c177e0|/usr/lib64/libgroonga.so.0(grn_plugin_register+0x286) [0x7f0ea3331386] 2012-08-08 14:37:35.473393|e|a8c177e0|/usr/lib64/libgroonga.so.0(grn_db_init_builtin_types+0x382) [0x7f0ea3226382] 2012-08-08 14:37:35.473398|e|a8c177e0|/usr/lib64/libgroonga.so.0(grn_db_create+0x1e9) [0x7f0ea3234fb9] 2012-08-08 14:37:35.473403|e|a8c177e0|/usr/lib64/mysql/plugin/ha_mroonga.so(+0x180ae) [0x7f0ea35e00ae] 2012-08-08 14:37:35.473408|e|a8c177e0|/usr/libexec/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x31) [0x694bd1] 2012-08-08 14:37:35.473413|e|a8c177e0|/usr/libexec/mysqld() [0x713b7b] 2012-08-08 14:37:35.473418|e|a8c177e0|/usr/libexec/mysqld(_Z11plugin_initPiPPci+0x6e4) [0x715e74] 2012-08-08 14:37:35.473423|e|a8c177e0|/usr/libexec/mysqld() [0x5bd752] 2012-08-08 14:37:35.473428|e|a8c177e0|/usr/libexec/mysqld(main+0x1b3) [0x5c0033] 2012-08-08 14:37:35.473434|e|a8c177e0|/lib64/libc.so.6(__libc_start_main+0xfd) [0x3c68e1ecdd] 2012-08-08 14:37:35.473439|e|a8c177e0|/usr/libexec/mysqld() [0x508ac9] cat groonga.log_createtable 2012-08-08 14:38:16.616136|e|a06d7700|mecab_new2 failed in check_mecab_dictionary_encoding 2012-08-08 14:38:16.618923|e|a06d7700|/usr/lib64/groonga/plugins/tokenizers/mecab.so(grn_plugin_impl_init+0x22e) [0x7f0e967a9e7e] 2012-08-08 14:38:16.618942|e|a06d7700|/usr/lib64/libgroonga.so.0(grn_plugin_open+0x4f9) [0x7f0ea332fde9] 2012-08-08 14:38:16.618952|e|a06d7700|/usr/lib64/libgroonga.so.0(grn_plugin_register_by_path+0x674) [0x7f0ea3330d54] 2012-08-08 14:38:16.618960|e|a06d7700|/usr/lib64/libgroonga.so.0(grn_plugin_register+0x286) [0x7f0ea3331386] 2012-08-08 14:38:16.618969|e|a06d7700|/usr/lib64/libgroonga.so.0(grn_db_open+0x384) [0x7f0ea3235844] 2012-08-08 14:38:16.618978|e|a06d7700|/usr/lib64/mysql/plugin/ha_mroonga.so(_ZN10ha_mroonga20ensure_database_openEPKc+0xf9) [0x7f0ea35e9699] 2012-08-08 14:38:16.618986|e|a06d7700|/usr/lib64/mysql/plugin/ha_mroonga.so(_ZN10ha_mroonga12storage_openEPKcij+0x19) [0x7f0ea35ea319] 2012-08-08 14:38:16.618995|e|a06d7700|/usr/lib64/mysql/plugin/ha_mroonga.so(_ZN10ha_mroonga4openEPKcij+0x139) [0x7f0ea35ea869] 2012-08-08 14:38:16.619004|e|a06d7700|/usr/libexec/mysqld(_ZN7handler7ha_openEP8st_tablePKcii+0x3d) [0x69476d] 2012-08-08 14:38:16.619012|e|a06d7700|/usr/libexec/mysqld(_Z21open_table_from_shareP3THDP14st_table_sharePKcjjjP8st_tableb+0x557) [0x60cb67] 2012-08-08 14:38:16.619021|e|a06d7700|/usr/libexec/mysqld() [0x603a50] 2012-08-08 14:38:16.619029|e|a06d7700|/usr/libexec/mysqld(_Z10open_tableP3THDP10TABLE_LISTP11st_mem_rootPbj+0x7a1) [0x607df1] 2012-08-08 14:38:16.619038|e|a06d7700|/usr/libexec/mysqld(_Z11open_tablesP3THDPP10TABLE_LISTPjj+0x5d0) [0x6089c0] 2012-08-08 14:38:16.619046|e|a06d7700|/usr/libexec/mysqld(_Z30open_normal_and_derived_tablesP3THDP10TABLE_LISTj+0x1e) [0x608b2e] 2012-08-08 14:38:16.619055|e|a06d7700|/usr/libexec/mysqld(_Z18mysqld_list_fieldsP3THDP10TABLE_LISTPKc+0x20) [0x6c6180] 2012-08-08 14:38:16.619063|e|a06d7700|/usr/libexec/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x15ae) [0x5d010e] -----Original Message----- From: Kouhei Sutou Sent: Wednesday, August 08, 2012 1:31 PM To: groon****@lists***** Subject: [groonga-dev,00997] Re: TokenMecabが見つからない 須藤です。 In <F19DDE98431F4AABA6F8D0E05F33DA03 @ yusukeDPC> "[groonga-dev,00996] TokenMecabが見つからない" on Wed, 8 Aug 2012 13:07:26 +0900, <wakis****@gmail*****> wrote: > Mysqlのmy.cnfや、mroongaのプラグインgroonga-tokenizer-mecabはインストールに成功しており、 > mysqlでの起動やmroonga、Mecabは動作しています。 > > ただし、my.cnfのmroonga_default_parser=TokenMecabが効いておらず、 > mysqlにてテーブルを作成すると、warningが出ており、 > show warningすると、TokenMecabが見つからず、デフォルトのTokenBigramにしたということでした。 > (正常にMecabで動いているものだと勘違いしていましたが、実際はTokenBigramで処理されていました) 教えてもらったmy.cnfを使って試してみたのですが、手元ではちゃ んとTokenMecabを使えました。 /var/lib/mysql/groonga.logを確認してもらえませんか?何かメッ セージがでているかもしれません。 予想ですが、MeCabの辞書のエンコーディングがUTF-8じゃないので はないかと思います。 % mecab -D | grep charset charset: utf8 となるか確認してもらえませんか? もし、euc-jpになっていたら/etc/mecabrcを編集してUTF-8な辞書 を使うようにしてください。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/ _______________________________________________ groonga-dev mailing list groon****@lists***** http://lists.sourceforge.jp/mailman/listinfo/groonga-dev