| Would be nice to provide some level of consistency across different backends. So while I realize the cost of refreshing on ES is high and understand why people would recommend against that, should we not have an equivalent option for our Lucene embedded users? From the opposite angle, for Lucene embedded in "async mode" we now allow to pick a periodic flush cycle, so that for example one can say "async, but no longer than 5 seconds". We could provide the same on ES? I prefer the time-boxing approach over the number of elements in a batch as it's easier to understand, and probably more common to qualify the system requirements in such terms. +1 for a coaleshing option, but let's remember that it has a negative effect on the latency of the user's application (it blocks the thread of the app using Hibernate). That's why I think it shouldn't be the only option. |