Use NoMergePolicy for specific Index?

How to set an Index to use NoMergePolicy provided by Lucene.
In my case, I have an time-based index (daily) and this Index is not search often but update frequently in a day. I don't want ES to do merge for this index to reduce CPU and I/O loading caused by merge. Any idea?

You can't modify that stuff in es. It used to have some settings for some
merge policy stuff but never that one, iirc. Most of those settings have
since been removed because they get people into more trouble then they got
out of trouble.

Thanks for your reply. But I want to minimize merge and in my past experience, Lucene's NoMergePolicy could be a solution, so I just want to know if there is any chance to use this method.

Maybe another option would be to use time-based indices?

Disabling merging can be very dangerous so I doubt we will ever expose it.

OK, time-based index is one of my options but i just wondering why not expose suck a configuration to users since they have to responsible for their decision. :slight_smile:

For the time-based index, i'd like to know when will a index being "idle(not actively)" in time-based scenario?

When a index being not actively seved, will IndexBuffer consumption reduce?

:slight_smile: You'd be surprised how many settings we removed because several users reported bugs that were side-effects of setting these expert settings. And they were not even as dangerous as disabling merges.

Yes. Elasticsearch periodically checks active shards, and only gives memory to the active shards.

For instance if you create daily indices, elasticsearch would consider all indices but the one for today idle.

1 Like