/**
  * Finds an article match and sets the value in the search config
  * @see    WikiaSearchTest::testGetArticleMatch
  * @see    WikiaSearchTest::testGetArticleMatchWithNoMatch
  * @see    WikiaSearchTest::testGetArticleMatchWithMatchFirstCall
  * @see    WikiaSearchTest::testGetArticleMatchWithMatchFirstCallMismatchedNamespaces
  * @param  WikiaSearchConfig $config
  * @return WikiaSearchArticleMatch|null
  */
 public function getArticleMatch(WikiaSearchConfig $config)
 {
     wfProfileIn(__METHOD__);
     if ($config->hasArticleMatch()) {
         return $config->getArticleMatch();
     }
     $term = $config->getOriginalQuery();
     $searchEngine = F::build('SearchEngine');
     $title = $searchEngine->getNearMatch($term);
     if ($title !== null && in_array($title->getNamespace(), $config->getNamespaces())) {
         $article = F::build('Article', array($title, RequestContext::getMain()), 'newFromTitle');
         $articleMatch = F::build('WikiaSearchArticleMatch', array($article));
         $config->setArticleMatch($articleMatch);
         wfProfileOut(__METHOD__);
         return $articleMatch;
     }
     wfProfileOut(__METHOD__);
     return null;
 }