David thanks a lot for the suggestions. I think you are right, the bottleneck is absolutely is using external spinning disk. So I tried the same code with using internal ssd disk I get 100 times faster results. So I better prepare index by creating small parts by using local disk and then move them to external disk makes sense.