Complex indexing, simplified
RavenDB indexes are Turing complete, which means that you can do whatever you want with them. This is a very powerful feature, but it also come with a heavy burden. You can get yourself into some serious trouble. Take a look at this index:
We run into it during a troubleshooting session with a customer. And it was frankly quite hard to figure out what was going on.
Luckily, I could just throw this into RavenDB 3.0, and look at the indexing options:
This turned the above index into this:
Which was much clearer, but we could improve it a bit by removing the into clauses, so I ended up with:
Now, just from the following, can someone tell me what is the likely issue with this kind of index?