There is a built-in monitor, that would log the indexing progress. If you’d want to have something more custom, as you’ve mentioned in the question - there is that method on a mass indexer .monitor(MassIndexingMonitor). You’d need to implement the org.hibernate.search.mapper.pojo.massindexing.MassIndexingMonitor interface. You could take a look at the implementation of the default log one for some idea how it can be done. The most important thing to keep in mind when implementing the interface: “Implementations must be threadsafe”.