The operation failed due to the failure of the call to the bulk REST API

Well then here is your answer. The indexing request couldn’t be handled in less than 60s, so Hibernate Search gave up.

As to why the request couldn’t be handled in less than 60s… I don’t know.

Maybe your Elasticsearch cluster is too slow:

  • the servers are undersized (not enough CPU, disks too slow, …).
  • or your network connection has low bandwidth.
  • or you’re just indexing too much at a time.

If the reason is one of the above, you can tune the indexing queues as explained in the documentation. Lowering queue_count in particular may help, as you’ll send fewer bulks in parallel for each index. You can start with 1, and increase as needed to get more performance until you hit timeouts again.

Maybe your Elasticsearch cluster is just fine, but you don’t have enough connections to process all the indexing works in parallel.
If that’s the case, and you have more than one Elasticsearch node, I’d recommend letting Hibernate Search know of the other nodes. You can just configure multiple hosts or, if there are too many, enable automatic discovery.