I don’t consider myself an expert on book construction, having only done it a few dozen times but, in my experience, constructing an index is best regarded as virtually the last thing you do before printing the book. If you construct the index earlier in the project, any changes you make (such as adding a sentence that causes one of the chapters to be one page longer) will be ignored by the index you have already made, making its page references unreliable. The index is not really interactive — it doesn’t adjust for subsequent changes you make. (I stand to be corrected on this if I have misunderstood something.)
I have also found that creating a book file (.indb) fairly early in the process is also a good idea. I usually create the book file when I have the first two chapter files created (even if each of them only contains a few pages or maybe even just a few words) and then, as additional chapter files are created, I add them to the book. Each of the chapters can still be worked on individually (though it is a good idea to open them from within the book file rather than in isolation) and you don’t need to have any chapter, other than the one you are working on, open at any given time.
Yes, indexing is a massive task. For that reason it is a good idea to avoid the likelihood of having to redo it several times.