The index-entry-limit
Backend configuration property
specifies the maximum number of entries kept in an index record, before the
server stops maintaining that record, begins scanning the whole database, and runs
an expensive unindexed search. If any index keys have already reached this limit,
indexes must be rebuilt before they can be allowed to use a new limit.
If index-entry-limit
is configured to be larger than 50000, then
any keys that match more than 50000 entries will be stored in a separate database in
an expanded (or "exploded") format.
All keys whose entry count is less than 50000 continue to be stored in one
database in a consolidated format, such that changes to the key require rewriting
all the entry IDs matching the key. All keys whose entry count is greater than
50000 and less than the index-entry-limit
are stored in a
separate database in an exploded format, such that changes to the key require
writing only to the updated entry ID.
If the index-entry-limit
is increased to 100000, any key with an entry
count less than 50000 continues to be stored in consolidated format. If a key has an entry
count greater than 50000, it will be stored in a separate database where each key is stored
with its entry ID individually. The consolidated format is very efficient for read
operations because the server can retrieve a row of entry IDs at once, while the exploded
format is far more efficient for high volumes of write operations since it avoids large
on-disk growth.