2017-04-11 1 views
1

を失敗:エラー「ERRMSG」:「WiredTigerIndex ::挿入:インデックスには大きすぎるキー、私はモンゴでインデックスを作成してい

db.table.createIndex({"chr" : 1, "Start" : 1, "End" : 1, "Ref" : 1, "Alt" : 1}) 

それはいくつかの時間のために実行され、エラーMSGを与えます:

error in monogdb "errmsg" : "WiredTigerIndex::insert: key too large to index, failing 

は、どのように私はこのエラーを修正しますか?MongoDBので

+0

こんにちは@ anop.perl、いくつかの詳細を追加できますか?例えば、 'table'コレクションには既に値が入っていますか? – danidemi

答えて

2

、2.6以降、インデックス・エントリの合計サイズが1024バイト以下でなければなりません。Documentation here

他の言葉で言えば、少なくとも1つのドキュメントが、インデックスを作成しようとしているフィールドの1つに大きな値を持っています。

大きなインデックスを作成するのは一般的にはあまり好ましくありません。なぜなら、小さなインデックスに比べて効率が悪い大きなインデックスを作成し、MongoDB上でより多くのスペースをRAMで使用できるからですノード。

mongod --setParameter failIndexKeyTooLong=falseを使用できます。

しかし、それはよい考えのようには見えません。索引付けするテキストが大きい場合は、フルテキスト索引の使用を検討するか、ハッシュド索引を使用できます。

+0

ありがとうMaxime ...... –

+0

あなたは@ anop.perlようこそ。ケースが閉鎖されていると思われる場合は、その答えを確認してください。 –

関連する問題