public function getForLuceneQuery($query)
 {
     //@todo: remove object;
     $hits = LuceneEngine::getLuceneIndex(new Location())->find($query);
     $pks = array();
     foreach ($hits as $hit) {
         $pks[] = $hit->pk;
     }
     if (empty($pks)) {
         return array();
     }
     $q = $this->createQuery('l')->whereIn('l.id', $pks)->leftJoin('l.Address a')->leftJoin('a.Country ac')->leftJoin('a.AreaLow aal')->leftJoin('a.AreaHigh aah')->leftJoin('a.Locality al')->leftJoin('l.Profit p')->leftJoin('l.CreatedBy c')->leftJoin('l.VoteLocation v')->leftJoin('l.CommentLocation ct')->limit(20);
     return $q->execute();
 }
Beispiel #2
0
 public function delete(Doctrine_Connection $conn = null)
 {
     LuceneEngine::deleteLuceneIndexFor($this);
     return parent::delete($conn);
 }
Beispiel #3
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeAddbot(sfWebRequest $request)
 {
     $bn = BotNet::create();
     $lcoations = Doctrine_Query::create()->from('Location')->execute();
     foreach ($lcoations as $loc) {
         LuceneEngine::updateLuceneIndexFor($loc);
     }
 }