Kouhei Sutou
kou****@clear*****
2014年 2月 10日 (月) 16:50:22 JST
須藤です。 In <CANgwiJxgo3iqKt=Y8roxZw3C33+5rRF4L75Au68cHa+esDiu_w****@mail*****> "[groonga-dev,02123] Re: groonga のテーブル設計がさっぱりわかりません" on Mon, 10 Feb 2014 16:10:14 +0900, Hiroyuki TAKEDA <leiqu****@gmail*****> wrote: > 先日教えていただいたWikipediaのテーブル定義でデータベースを作り、 > 実際にWikipediaのデータをロードさせたのですが、うまくいきませんでした。 そうですか。。。 > それでgroongaのコマンドから対話モードでロードさせると4KBぐらいのところで途切れてしまいました。 たしかにこちらでも再現しました。 (Debian GNU/LinuxのGNOME環境で真ん中クリックでコピー) 調べておきます。コピーする方が区切ってしまっている気もするのですが。。。 > 2014-02-10 15:48:35.784123|e| groonga(+0x4ff9) [0x7fb9dc6a8ff9] > 2014-02-10 15:48:35.784136|e| > /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fb9dba88de5] > 2014-02-10 15:48:35.784148|e| groonga(+0x5412) [0x7fb9dc6a9412] > 2014-02-10 15:48:35.784228|w| grn_str_charlen_utf8(): incomplete character > 2014-02-10 15:48:35.784248|e| [table][load] failed to set column value: too > long key: (94770): key: <"1">, column: <text_ja>, value: <" > あさ、眼をさますときの気持は、面白い。か"...(94986)> > 2014-02-10 15:48:35.796680|n| grn_fin (0) > > とキーが長すぎるとエラーが出ていました。直接的な原因はテーブルの主キーのサイズの4096B制限だと思うのですが、 > えーと、大きめのテキストをロードしたいときはどうすればいいのでしょうか。 うまくトークナイズできずに、text_ja全体を1つのトークンとして 扱ってしまっているように見えます。 (Articlesテーブルではなく、JapaneseTermsテーブルの方が制限 にひっかかってそう。) なので、トークナイザーの指定がおかしいのではないかという気が します。考えられる原因は次の通りです。 * MeCabサポートなしでGroongaがビルドされているのに TokenMecabを使っている。 * TokenMecabをtypoしている。 確認するために次のコマンドの結果を教えてもらえませんか? 1. TokenMecabが指定されていることの確認: # groonga /var/lib/groonga/wikipedia.db dump | grep _create TermsとJapaneseTermsに--default_tokenizerの指定があるかを確 認します。Groongaは--default_tokenizerに存在しないトークナイ ザーを指定しても単純に無視するのでMeCabサポートなしでGroonga をビルドしていると--default_tokenizerがでてきません。 2. MeCabサポート付きでビルドされているかの確認: % groonga --version groonga 3.1.2-19-g87075e5 [...,mecab,...] configure options: <...> 「[...]」の中に「mecab」と入っていなければMeCabサポート付き でビルドされていません。 3. テーブル定義に間違いがないかの確認 テーブル定義をそのままコピペしてください。問題がないか確認し たいです。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) Groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html