[groonga-dev,00998] Re: TokenMecabが見つからない

Back to archive index

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 




groonga-dev メーリングリストの案内
Back to archive index