The index rebuild process is a very intensive operation and it will be significantly faster if you can allow it to scale up on the number of threads and use larger buffers. Using many buffers and threads of course consumes more memory, so make sure to allow your JVM to use a reasonable heap size.