/**
  * {@inheritdoc}
  */
 protected function data(ServerRequestInterface $request, Document $document)
 {
     $actor = $request->getAttribute('actor');
     $query = array_get($this->extractFilter($request), 'q');
     $sort = $this->extractSort($request);
     $criteria = new SearchCriteria($actor, $query, $sort);
     $limit = $this->extractLimit($request);
     $offset = $this->extractOffset($request);
     $results = $this->searcher->search($criteria, $limit, $offset);
     $document->addPaginationLinks($this->url->toRoute('pages.index'), $request->getQueryParams(), $offset, $limit, $results->areMoreResults() ? null : 0);
     return $results->getResults();
 }