The behaviour for filter parameters is as follows:
if absent, the filter is not applied
if present with one value, only results with that value are returned
if present with more than one value, results with any of those values are returned
These above behaviours are pretty intuitive. However, one more possible option exists which is not so intuitive:
if present but empty, no results are returned.
I discovered this when implementing genre filters. For genre filters, I set it so that the filter is not applied if present but empty. However, that is not the only valid option. Another could be to return results that do not have any value set in that field.
So we should change the empty filter behaviour on all filters to either:
behave as though the filter is absent
only return records that have no values in that field
The behaviour for filter parameters is as follows:
These above behaviours are pretty intuitive. However, one more possible option exists which is not so intuitive:
I discovered this when implementing genre filters. For genre filters, I set it so that the filter is not applied if present but empty. However, that is not the only valid option. Another could be to return results that do not have any value set in that field.
So we should change the empty filter behaviour on all filters to either: