I'll quicly explain to you:
1. Every filter is a set of rulles.
2. Every file has a set of attributes (one of them is the name, one is the extension,
one is the size, and so on...)
3. Rulles can be/are made from a set of file attributes.
So we have:
File attributes -> Rulles -> Filter.
Simple?
And by the way there are p2p progs who can filter files by size. Keep on looking