Improve selector and result fields mapping

Covert user selector to value selector for result,
so we can know where result title from and control the priority
Remove conditions.enough.all

If size is not set, return the first one;
if size is set to -1, return all the matched;
If the size value is not the same as fetched items, return [].