Add support for search

- Assumes "search" type data sources return a list of IDs that will then
  be used to search on the specified "search" field