Shunsuke Tanaka
tanak****@nttda*****
2007年 10月 11日 (木) 10:20:41 JST
田中です。 > utf8とEUC_JPが混在していて良くない感じですね。 > データはEUC_JPのままで使いたいので、全てをEUC_JPに統一して、 > もう一度やってみたいと思います。 mecab、mecabの辞書、senna、PostgreSQL、データを全てEUC_JPに統一したところ、 10万件以上スムーズに(1件の投入時間が1秒未満で)投入できるようになりました。 > それから、 > インデックス対象のテキストデータの総サイズは3万件程度では10GBは超えないと思います。 > 10万件くらいになると10GBは超える可能性があるので、 > データ投入がスムーズにできるようになり、10万件くらい投入できて、 > それっぽいエラーが出るようならば、initial_n_segmentsを変えて試してみたいと思います。 デフォルト設定(initial_n_segments=512)で実施したところ、15万件ほど投入し たところで下記のエラーが出ました。 LOG: pgsenna2: |A| malloc fail (132633168)=(nil) (inv.c:934) <605> ERROR: pgsenna2: sen_index_update failed そこで、initial_n_segments=2048、max_n_index_cache=64に設定して、 もう一度行ったところ、15万件ほど投入したところで、 突然、ルートファイルシステムが読み取り専用になってしまい、 投入するプロセスが異常終了するという結果になりました。 ログにはエラーは出ていませんでした。 使用したハードウェアは以下の通りなのですが、 メモリは2Gでは足らないのでしょうか? > > > Dell Precision 470 > > > CPU: Xeon 2.8GHz × 2 > > > Memory: 2Gbyte > > > HDD: SATA 400Gbyte 7200rpm よろしくお願いします。