Hello,
We are trying to set a "wait_for" refresh policy for every bulk request we are performing. It seems the only way is setting this policy on the 'beforeBulk' method on the bulk listener in this way:
public void beforeBulk(long executionId, BulkRequest request) {`
request.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL);`
}
The idea behind this is: we are performing searches on this index, but we want to hold a search if there are documents involved in it that were indexed by a previous bulk request but they have not been refreshed yet. Once these documents are refreshed, then the search will be executed.
Since the ES docs say:
- Never start multiple
refresh=wait_for
requests in a row. Instead batch them into a single bulk request withrefresh=wait_for
and Elasticsearch will start them all in parallel and return only when they have all finished.
We understand the above code is the right way to achieve this. Are we right?
Thanks,
Joan.