/**
  * Passes the appropriate values to the config object from the request during index method.
  * @return \Wikia\Search\Config
  */
 protected function getSearchConfigFromRequest()
 {
     $request = $this->getRequest();
     $searchConfig = new Wikia\Search\Config();
     $resultsPerPage = $this->isCorporateWiki() ? self::INTERWIKI_RESULTS_PER_PAGE : self::RESULTS_PER_PAGE;
     $resultsPerPage = empty($this->wg->SearchResultsPerPage) ? $resultsPerPage : $this->wg->SearchResultsPerPage;
     $searchConfig->setQuery($request->getVal('query', $request->getVal('search')))->setCityId($this->wg->CityId)->setLimit($request->getInt('limit', $resultsPerPage))->setPage($request->getVal('page', 1))->setRank($request->getVal('rank', 'default'))->setHub($request->getVal('hub', false))->setInterWiki($this->isCorporateWiki())->setVideoSearch($request->getVal('videoSearch', false))->setFilterQueriesFromCodes($request->getVal('filters', array()))->setBoostGroup($request->getVal('ab'));
     if ($this->isCorporateWiki()) {
         $searchConfig->setLanguageCode($request->getVal('resultsLang'));
         $languageService = new \Wikia\Search\Language\LanguageService();
         $languageService->setLanguageCode($searchConfig->getLanguageCode());
         $wikiArticleThreshold = $languageService->getWikiArticlesThreshold();
         if (in_array('staff', $this->wg->user->getEffectiveGroups())) {
             $wikiArticleThreshold = $request->getVal('minArticleCount', $wikiArticleThreshold);
         }
         $searchConfig->setXwikiArticleThreshold($wikiArticleThreshold);
     }
     $this->setNamespacesFromRequest($searchConfig, $this->wg->User);
     if (substr($this->getResponse()->getFormat(), 0, 4) == 'json') {
         $requestedFields = $searchConfig->getRequestedFields();
         $searchConfig->setRequestedFields(explode(',', $request->getVal('jsonfields', '')));
     }
     return $searchConfig;
 }