Quote:
as far as I understand sharding; it's splitting the index into different files, not different, siloed, indexes
No, the purpose is really to get you to different indexes, "siloed" in different directories. Then each index may be managed indipendently and Lucene might have to make each one indipendently in different files, as usual for indexes.
So it should really be the feature you're looking for; we could have to fix some documentation? Could you point us to some reference which gave you the idea of "different files, coupled index" ??
The indexing speed is another issue: the index structure could be the performance bottleneck, but I doubt it. First you should check the way you entities get loaded: try enabling hibernate's query log and verify the way your data is being loaded; most of the time the problem source is the way collections are loaded with subsequent lazy queries, one new query for each root entity, for each collection, makes up a lot of DB queries and delays.
I am working on "indexing accelaration" but I am having big delays in releasing it in making it "general purpose" and not only tailored to my testcases. If you could provide me with the relevant model classes I am willing to take a look at it.