...
Your widget strategy is mainly consistuted constituted of 3 types of logicslogic: filters, ranker and scorers.
Filters define must-have logics logic which should be applied at all costs unless the requested amount of results cannot be met. They are then considered by order of priority from top to bottom to fill-up what is missing.
...