There are many different strategies for handling this; there is no simple one size for all solutions.
To answer some of your questions, firstly, there is no partial update in Elasticsearch / Lucene. If you update one field in a document, the entire document will be rewritten. Be aware of the spectacular effects of this when designing your circuit. However, if you are updating a single document, it should be available immediately. Elasticsearch is a search engine in almost real time, you do not need to worry about a constantly updated index.
For your write load, one update / 10 seconds, the default performance settings should be accurate. Because it is actually a very low load for ES, it can scale much higher. Netflix, for example, performs 7 million updates per minute in one of its clusters.
Regarding synchronization strategies, I wrote an in-depth article about this βKeeping Elasticsearch in Syncβ
source share