/**
  * Prepares the {@link SearchQuery}. Handles taking request arguments and
  * generating the filters and excludes to manipulate the search query.
  *
  * @return SearchQuery
  */
 protected function prepareQuery()
 {
     $params = $this->getSearchParams();
     $query = new SearchQuery();
     // Filters
     $query->search($params['q']);
     // Permission checks. CanView* checks are really basic, don't check for
     // inheritance or enforce visibility for admins or other logged-in
     // members (based on their many-many relationships).
     $query->exclude('SiteTree_ShowInSearch', false);
     $query->exclude('SiteTree_CanViewType', 'OnlyTheseUsers');
     $query->exclude('SiteTree_CanViewType', 'LoggedInUsers');
     // $query->filter('..', true)
     return $query;
 }