Just putting my thoughts out .. obviously don't have the same understanding as Yonik
Feels like specifying which filter's are cached doesn't need to be part of this issue. This issue could just be about specifying the boolean logic that gets applied to the Doc Maps that are created by the filters. So today you have a number of filters .. F1, F2, ... FN and the boolean logic is F1 & F2 & .. &FN
What I'm hoping for is something simple where you have 2 groups, the AND group and the OR group.
AND group: A1, A2
OR group: O1, O2
So the filter you end up with is (A1 & A2) & (O1 | O2). The caching logic doesn't need to change then, there are still 4 filter queries.
fq=popularity:[10 TO *] OR section:0
New method (assuming we added ofq for the OR'd filter query group, probably there is a better way to make the API )
ofq=popularity:[10 TO *]
I realize I'm probably missing some important implementation details that Yonik alludes to, just wanted to get my thoughts down. I wish I was in a position to actually work on this .. if someone takes this on, I can help with beta testing and documentation.
If anyone cares, the reason I want this is because my apps have extremely complicated authorization logic. I can do what I need using fq's, but the filters get large and are very specific to the user that did the search. If I had OR logic, then I could break the filters down into smaller pieces, which would be much more reusable from the cache, and performance would be much better
Thanks for listening