Description:
I couldn't find any documentation about these two limits. But if there are any, we should remove them.
Engineering Ticket Description:
SERVER-8431 restricted inserting a document into a collection with a text index under the following circumstances:
- The number of unique terms in the fields indexed by the text index is greater than 400,000.
- The total size of those terms is greater than 4MB.
This was done to avoid causing the server to shut down from generating a group commit larger than 512MB. However, we have since increased the journaling capacity limit to 2000MB as part of SERVER-17501. We should considering raising these limits to allows users to store more text data in a single document.
Steps to reproduce
db.foo.drop();
|
db.foo.createIndex({a: 'text'});
|
|
var termLength = 16;
|
|
var str = '';
|
for (var i = 0; i < (5 * 1024 * 1024 / termLength); i++) {
|
if (i > 0) {
|
str += ' ';
|
}
|
str += i.zeroPad(termLength);
|
}
|
|
assert.writeOK(db.foo.insert({a: str}));
|
assert: write failed with error: {
|
"nInserted" : 0,
|
"writeError" : {
|
"code" : 16733,
|
"errmsg" : "trying to index text where term list is too big, max is 4mb _id: ObjectId('568d68d5dd2e24af1002e247')"
|
}
|
}
|
_getErrorWithCode@src/mongo/shell/utils.js:23:13
|
doassert@src/mongo/shell/assert.js:13:14
|
assert.writeOK@src/mongo/shell/assert.js:414:9
|