Ejemplo n.º 1
0
 /**
  * Get twig properties for matching search document.
  *
  * @param Zend_Search_Lucene_Search_QueryHit $hit
  * @return array
  */
 public function getHitProperties(Zend_Search_Lucene_Search_QueryHit $hit)
 {
     $r = $this->getRequest();
     $snippet = Curry_String::toInternalEncoding($hit->body, 'utf-8');
     $snippet = self::createSearchSnippet($snippet, $r->get['query'], $this->snippetLength);
     $relatedObject = null;
     $model = Curry_String::toInternalEncoding($hit->model, 'utf-8');
     $fields = array();
     foreach ($hit->getDocument()->getFieldNames() as $fieldName) {
         $fields[$fieldName] = $hit->{$fieldName};
     }
     return array('Title' => Curry_String::toInternalEncoding($hit->title, 'utf-8'), 'Description' => Curry_String::toInternalEncoding($hit->description, 'utf-8'), 'Url' => Curry_String::toInternalEncoding($hit->url, 'utf-8'), 'Snippet' => $snippet, 'Score' => $hit->score, 'Fields' => $fields, 'RelatedObject' => new Curry_OnDemand(array($this, 'getRelatedObject'), $model, unserialize($hit->model_id)));
 }