Current the index backends are divided in two categories: sync and async.
Sync involves keeping a dedicated thread to apply changesets to the index, while async involves an executor to apply changes plus a periodic commit thread.
Threading above are maintained on a per index manager basis, meaning the resource usage grows linearly as the number of index managers grows.
No longer relevant: in Hibernate Search 6, the thread pool is now shared among all indexes.
Closing as out-of-date.