Programmer's Reference Guide

Unterstützte Abfragen

Seitendarstellung von Suchergebnissen

Wie vorher erwähnt, verwenden die Hit Objekte von Suchergebnissen Lazy Loading für gespeicherte Dokumentfelder. Wenn auf ein gespeichertes Feld zugegriffen wird, wird das komplette Dokument geladen.

Man sollte nicht alle Dokumente empfangen wenn man nur mit einem Teil von Ihnen arbeiten muss. Man sollte durch die Suchergebnisse gehen und die IDs der Dokumente irgendwo speichern (und optional die Bewertung) um die Dokumente vom Index bei der nächsten Ausführung des Skripts zu erhalten.

Beispiel #1 Beispiel für die seitendarstellung von Suchergebnissen

  1. $cacheId = md5($query);
  2.  
  3. if (!$resultSet = $cache->load($cacheId)) {
  4.     $hits = $index->find($query);
  5.     $resultSet = array();
  6.     foreach ($hits as $hit) {
  7.         $resultSetEntry          = array();
  8.         $resultSetEntry['id']    = $hit->id;
  9.         $resultSetEntry['score'] = $hit->score;
  10.  
  11.         $resultSet[] = $resultSetEntry;
  12.     }
  13.  
  14.     $cache->save($resultSet, $cacheId);
  15. }
  16.  
  17. $publishedResultSet = array();
  18. for ($resultId = $startId; $resultId < $endId; $resultId++) {
  19.     $publishedResultSet[$resultId] = array(
  20.         'id'    => $resultSet[$resultId]['id'],
  21.         'score' => $resultSet[$resultId]['score'],
  22.         'doc'   => $index->getDocument($resultSet[$resultId]['id']),
  23.     );
  24. }

Unterstützte Abfragen
blog comments powered by Disqus

Select a Version

Languages Available

Components

Search the Manual