Most of the first-time indexing could be avoided by including indices with the downloaded resources. Then those could be combined after download, much more quickly than indexing from scratch. Indexing only needs to be done once for each resource. Why not do that indexing once, ever, when the resource is created and packaged? Why waste time and electricity by doing it from scratch on every client?