/**
  * Given a page id, returns a document representing that page.
  *
  * @return	Apache_Solr_Document	A documment representing the page
  */
 protected function getPageDocument()
 {
     $document = t3lib_div::makeInstance('Apache_Solr_Document');
     $cHash = $this->filterInvalidContentHash($this->page->cHash);
     $pageRecord = $this->page->page;
     self::$pageSolrDocumentId = $documentId = tx_solr_Util::getPageDocumentId($this->page->id, $this->page->type, $this->page->sys_language_uid, $this->getDocumentIdGroups(), $cHash);
     $document->setField('id', $documentId);
     // system fields
     //			2011-08-15T14:18:54.851Z
     $document->setField('date_creation', date("Y-m-d\\TH:i:s\\Z", $pageRecord['crdate']));
     !empty($pageRecord['starttime']) ? $document->setField('date_online', date("Y-m-d\\TH:i:s\\Z", $pageRecord['starttime'])) : '';
     !empty($pageRecord['endtime']) ? $document->setField('date_offline', date("Y-m-d\\TH:i:s\\Z", $pageRecord['endtime'])) : '';
     $document->setField('date_updated', date("Y-m-d\\TH:i:s\\Z", $pageRecord['tstamp']));
     // access
     if ($this->page->page['endtime']) {
         $document->setField('date_offline', $pageRecord['endtime']);
     }
     // content
     $document->setField('title', $this->utf8encode($this->contentExtractor->getPageTitle()));
     $document->setField('subtitle', addslashes($this->utf8encode($pageRecord['subtitle'])));
     $document->setField('summary', !empty($pageRecord['description']) ? $this->utf8encode($pageRecord['description']) : substr($this->contentExtractor->getIndexableContent(), 0, 210));
     $document->setField('body', addslashes($this->contentExtractor->getIndexableContent()));
     $document->setField('deeplink', $this->pageUrl);
     // keywords
     $keywords = array_unique(t3lib_div::trimExplode(',', $this->utf8encode($pageRecord['keywords'])));
     foreach ($keywords as $keyword) {
         $document->addField('keywords', $keyword);
     }
     return $document;
 }