/** * A more textual interface to the MoreLikeThis functionality * @param WikiaSearchConfig $searchConfig * @return array of urls to array of wid and pageid */ public function getSimilarPages(WikiaSearchConfig $searchConfig) { wfProfileIn(__METHOD__); $streamUrl = false; $streamBody = false; $query = $searchConfig->getQuery(); if ($query == false) { $streamUrl = $searchConfig->getStreamUrl(); if ($streamUrl === false) { $streamBody = $searchConfig->getStreamBody(); } } if ($streamUrl || $streamBody) { $searchConfig->setFilterQuery($this->getQueryClausesString($searchConfig)); } $searchConfig->setMltBoost(true)->setMltFields(array(self::field('title'), self::field('html'), 'title')); $resultSet = $this->moreLikeThis($searchConfig); $response = array(); foreach ($resultSet as $similarPage) { $response[$similarPage['url']] = array('wid' => $similarPage['wid'], 'pageid' => $similarPage['pageid']); } wfProfileOut(__METHOD__); return $response; }