/** * @param \Solarium\QueryType\Select\Result\Result $ergebnisse * @return array(); */ public static function ergebnisse2FeedData($ergebnisse) { $data = array(); $dokumente = $ergebnisse->getDocuments(); $highlighting = $ergebnisse->getHighlighting(); $purifier = new CHtmlPurifier(); $purifier->options = array('URI.AllowedSchemes' => array('http' => true, 'https' => true)); foreach ($dokumente as $dokument) { $model = Dokument::getDocumentBySolrId($dokument->id); $risitem = $model->getRISItem(); if (!$risitem) { continue; } $link = $risitem->getLink(); $highlightedDoc = $highlighting->getResult($dokument->id); $item = array("title" => $model->name . " (zu " . $risitem->getTypName() . " \"" . $risitem->getName() . "\"", "link" => $link, "content" => "", "dateCreated" => RISTools::date_iso2timestamp(str_replace("T", " ", str_replace("Z", "", $dokument->sort_datum))), "aenderung_guid" => $link); if ($highlightedDoc && count($highlightedDoc) > 0) { foreach ($highlightedDoc as $highlight) { $item["content"] .= $purifier->purify(implode(' (...) ', $highlight)) . '<br/>'; } } $data[] = $item; } return $data; }
$suche->addKritsToSolr($select); $select->setRows(50); $select->addSort('sort_datum', $select::SORT_DESC); /** @var Solarium\QueryType\Select\Query\Component\Highlighting\Highlighting $hl */ $hl = $select->getHighlighting(); $hl->setFields('text, text_ocr, antrag_betreff'); $hl->setSimplePrefix('<b>'); $hl->setSimplePostfix('</b>'); /** @var \Solarium\QueryType\Select\Result\Result $ergebnisse */ $ergebnisse = $solr->select($select); $dokumente = $ergebnisse->getDocuments(); if (count($dokumente) > 0) { echo '<tr><th>Namentlich erwähnt in:</th><td><ul>'; $highlighting = $ergebnisse->getHighlighting(); foreach ($dokumente as $dokument) { $dok = Dokument::getDocumentBySolrId($dokument->id, true); if (!$dok) { if ($this->binContentAdmin()) { echo "<li>Dokument nicht gefunden: " . $dokument->id . "</li>"; } } elseif (!$dok->getRISItem()) { if ($this->binContentAdmin()) { echo "<li>Dokument-Zuordnung nicht gefunden: " . $dokument->typ . " / " . $dokument->id . "</li>"; } } else { $risitem = $dok->getRISItem(); if (!$risitem) { continue; } $dokurl = $dok->getLinkZumDokument(); echo '<li style="margin-bottom: 10px;">';