Подсветка Symfony и Zend Lucene

Я использую Symfony 1.4 и поиск Zend Lucene, как в Jobbet И мне нужно сделать подсветку результатов поиска, я читал это , но я не понимаю, как это сделать в моем случае с symfony(

$ highlightedHTML = $ query-> highlightMatches ($sourceHTML);

Что такое $sourceHTML? И это все делает только один ряд?

обновление:

 $ highlightedHTML = $ query-> highlightMatches ($sourceHTML);

Это работает в моей модели, но как это реализовать, на мой взгляд?


person denys281    schedule 18.04.2011    source источник
comment
Что именно ты не понимаешь?   -  person Dziamid    schedule 18.04.2011
comment
@Dziamid Я нашел эту ссылку, я не там, где я должен это сделать, в моем классе таблицы? вероятно, лучше использовать это? Спасибо!   -  person denys281    schedule 19.04.2011


Ответы (2)


Не сейчас, если это правильно, но это работа :) Просто на виду:

$query = Zend_Search_Lucene_Search_QueryParser::parse($queryStr);
$highlightedHTML = $query->highlightMatches($sourceHTML);

В моем случае, например:

echo $query->highlightMatches($ad->getCompany())
person denys281    schedule 01.06.2011
comment
@Herman, это был вопрос о symfony 1.4, ветки нет, и это было 2 года назад ;-) - person denys281; 07.05.2013

Вам нужно сохранить этот выделенный HTML в вашей модели. Или сделайте функцию, доступную из представления. Например:

<?php
class Model {
  private $content;

  public function getContent(){
    return $this->content;
  }

  public function getContentHighlighted(){
    // Search term, usually in $_GET or $_POST
    $term = $_GET['searchterm'];
    // Parse query
    $query = Zend_Search_Lucene_Search_QueryParser::parse($term);
    // Return highlighted
    return $query->highlightMatches($this->getContent());
  }

}
?>

По вашему мнению (например, в этом случае: Twig), вы используете:

<h1>The content</h1>
{{model.getContentHighlighted}}
person Herman    schedule 11.05.2012