The fact is simple: if you have a scenario that requires a sort of dynamic query, where queries can change their shape based on user input (for example a reporting server) a database such raven is not the correct choice.
If you are simply developing new scenario than you have to pay the wait time for the index to index all the data.
In my experience, on my machine (a laptop), however, indexing 20mil documents using 3 indexes takes not more than 40 minutes.
.m
This is either a bug or something is causing the index to be deleted. RavenDB will only have to create a new index if the fields you are querying against are not in an existing index (the query optimiser handles this). So once you have created an index, it's presisted to disk and available after a re-start, it doesn't need to be re-created each time. What might be happening is that the existing index doesn't have the fields you need and RavenDB has to create a new one, is this the case?> We have a "table" with about 8.5 million documents in it. Every time we need to write a new query against
> this in .NET RavenDB generates a new index for the query. Problem is, the index takes at least an hour to
> get all the current documents into the index query results, meanwhile whenever someone runs the query
> they're getting a 0 length result.