【问题标题】:Symfony and Zend Lucene highlightingSymfony 和 Zend Lucene 突出显示
【发布时间】:2012-05-12 03:36:36
【问题描述】:

我使用 symfony 1.4 并使用 Zend Lucene 搜索,如 Jobbet 并且我需要突出显示搜索结果,我阅读了 this ,但我这样做了不明白在我的情况下它是如何使用 symfony 的(

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

什么是 $sourceHTML?这一切都只靠一排吗?

更新:

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

它在我的模型中有效,但在我看来它是如何实现的?

【问题讨论】:

  • 你到底有什么不明白的?
  • @Dziamid 我找到了这个link,我没有在我的餐桌课上必须做的地方?使用this 可能更好?谢谢!

标签: zend-framework symfony1 symfony-1.4 zend-search-lucene lucene-highlighter


【解决方案1】:

我现在不知道,如果它是正确的,但它是工作:) 就在眼前:

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

以我为例:

echo $query->highlightMatches($ad->getCompany())

【讨论】:

  • @Herman 这是关于 symfony 1.4 的问题,没有树枝,而且是 2 年前的 ;-)
【解决方案2】:

您需要将此突出显示的 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}}

【讨论】:

    猜你喜欢
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2010-12-12
    相关资源
    最近更新 更多