It seems that a lot of people complaining about that mongo is not using index intersections effectively, if at all. As I understand this, the planner is not always selecting the right/most effective plan when intersections can be involved.Is it possible, and how hard it is, to create a method where we tell the planner exactly what to to regarding intersections just like we do with hints?
Index intersection can indeed be difficult for the query optimizer to consistently select as a winning plan, and for common queries I would suggest creating compound indexes where possible. While index intersection sounds conceptually appealing, merging the results from multiple indexes typically involves more work than using a single index. The MongoDB query planner does not currently track detailed metrics on index key distribution which could enable more effective index intersection.
As at MongoDB 3.6 it is not possible to hint index intersection. There is a relevant feature request you can watch/upvote in the MongoDB issue tracker: https://jira.mongodb.org/browse/SERVER-22741.
Regards, Stennie