This is the Hibernate search workflow diagram under the environment of non-clustered index, the directory of the Lucene index should be a share under the environment of clustered index. As we can see from the diagram, the Hibernate search will establish a database first according to the index document. The index document is stored in the Lucene index directory. The establishment of the index and the transaction can be synchronous or asynchronous. Under the environment of synchronous mode, the backstage index work and transaction are carried on synchronously. The weakness of this kind of mode is that the limitation of delivery can not be avoided under the parallel environment. If the backstage index processing speed is lower than a business processing speed or it is under the situation that a great deal of IO operation are conducted, the system response speed will slow down. In asynchronous mode, background index is handled by threads. This model has no restriction of response time and flow. The weakness of this kind of mode is that there will be some delay between the work of indexing and the business processing, and it will expend certain thread management expense. If the performance problem is tolerant a synchronous way would be more reasonable.