[groonga-dev,02123] Re: groonga のテーブル設計がさっぱりわかりません

Hiroyuki TAKEDA leiqu****@gmail*****
2014年 2月 10日 (月) 16:10:14 JST


こんにちは。

また教えてください。

先日教えていただいたWikipediaのテーブル定義でデータベースを作り、
実際にWikipediaのデータをロードさせたのですが、うまくいきませんでした。

ロードさせようとしたJSONは下記のようなもので、これは一部ですが、
実際はtext_jaには太宰治の女生徒の全文が入り、1行63KBでした。

load --table Articles
[
{"_key": "1", "title": "女生徒", "revision": 27513903, "user": "太宰治",
"user_id": 35, "text_ja": "
あさ、眼をさますときの気持は、面白い。かくれんぼのとき、押入れの真っ暗い中に、じっと、しゃがんで隠れていて、突然、でこちゃんに、がらっと襖ふすまをあけられ、日の光がどっと来て、でこちゃんに、「見つけた!」と大声で言われて、まぶしさ、それから、へんな間の悪さ、それから、胸がどきどきして、着物のまえを合せたりして、ちょっと、てれくさく、押入れから出て来て、急にむかむか腹立たしく、あの感じ、いや、ちがう、あの感じでもない、なんだか、もっとやりきれない。箱をあけると、その中に、また小さい箱があって、その小さい箱をあけると、またその中に、もっと小さい箱があって、そいつをあけると、また、また、小さい箱があって、その小さい箱をあけると、また箱があって、そうして、七つも、八つも、あけていって、とうとうおしまいに、さいころくらいの小さい箱が出て来て、そいつをそっとあけてみて、何もない、からっぽ、あの感じ、少し近い。パチッと眼がさめるなんて、あれは嘘だ。濁って濁って、そのうちに、だんだん澱粉でんぷんが下に沈み、少しずつ上澄うわずみが出来て、やっと疲れて眼がさめる。朝は、なんだか、しらじらしい。悲しいことが、たくさんたくさん胸に浮かんで、やりきれない。いやだ。いやだ。朝の私は一ばん醜みにくい。両方の脚が、くたくたに疲れて、そうして、もう、何もしたくない。熟睡していないせいかしら。朝は健康だなんて、あれは嘘。朝は灰色。いつもいつも同じ。一ばん虚無だ。朝の寝床の中で、私はいつも厭世的だ。いやになる。いろいろ醜い後悔ばっかり、いちどに、どっとかたまって胸をふさぎ、身悶みもだえしちゃう。
……", "timestamp": 1381707646}
]

まず、Articleテーブルのtext_jaがTextだと64KBまでなのでLongTexにしました。
それでgroongaのコマンドから対話モードでロードさせると4KBぐらいのところで途切れてしまいました。
ので、ファイルに保存して標準入力でロードさせると、

# groonga --log-level 8 /var/lib/groonga/wikipedia.db < data.json
[[0,1392013503.7047,0.000383853912353516],1]

と完了したっぽいのですが、うまくできてないようでログを見ると、

2014-02-10 15:48:35.765211|n| grn_init
2014-02-10 15:48:35.782707|e| too long key: (94770)
...
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制限だと思うのですが、
えーと、大きめのテキストをロードしたいときはどうすればいいのでしょうか。

またまたつまらない質問で恐縮ですが、
よろしくお願いいたします。

2014年2月5日 22:42 Kouhei Sutou <kou****@clear*****>:

> 須藤です。
>
> In <CANgw****@mail*****>
>   "[groonga-dev,02109] Re: groonga のテーブル設計がさっぱりわかりません" on Wed, 5 Feb 2014
> 20:10:12 +0900,
>   Hiroyuki TAKEDA <leiqu****@gmail*****> wrote:
>
> > 頂いた返信を何回か読んだのですが、実は未だに理解できないですが、
>
> す、すみません。。。精進します。。。
> 図もつけると違うんだろうなぁとは思うのですが。。。
>
> > これでデータをストアして検索したりインデックスファイルの大きさ見たりとかできるようになったので、
> > 理解が進むと思います。
> >
> > どうしていいのか全然わからなかったのですごく助かりました。
>
> よかったです!
>
>
> --
> 須藤 功平 <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
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>



groonga-dev メーリングリストの案内