getTotalHits() public method

Returns the total number of found hits.
public getTotalHits ( ) : integer
return integer Total hits
コード例 #1
0
 /**
  * @return int
  */
 public function count()
 {
     if (null === $this->resultSet) {
         $this->search();
     }
     return $this->resultSet->getTotalHits();
 }
コード例 #2
0
 /**
  * Returns the number of results.
  *
  * @return integer The number of results.
  */
 public function getNbResults()
 {
     if (!$this->resultSet) {
         return $this->searchable->search($this->query)->getTotalHits();
     }
     return $this->resultSet->getTotalHits();
 }
コード例 #3
0
 /**
  * @param \Elastica\ResultSet $searchResult
  * @param array $requestParameters
  *
  * @return \Generated\Shared\Transfer\PaginationSearchResultTransfer
  */
 protected function formatSearchResult(ResultSet $searchResult, array $requestParameters)
 {
     $paginationConfig = $this->getFactory()->getSearchConfig()->getPaginationConfigBuilder();
     $itemsPerPage = $paginationConfig->getCurrentItemsPerPage($requestParameters);
     $maxPage = ceil($searchResult->getTotalHits() / $itemsPerPage);
     $currentPage = min($paginationConfig->getCurrentPage($requestParameters), $maxPage);
     $paginationSearchResultTransfer = new PaginationSearchResultTransfer();
     $paginationSearchResultTransfer->setNumFound($searchResult->getTotalHits())->setCurrentPage($currentPage)->setMaxPage($maxPage)->setCurrentItemsPerPage($itemsPerPage);
     return $paginationSearchResultTransfer;
 }
コード例 #4
0
 /**
  * Return the total results from the last search.
  *
  * @return int
  */
 public function getTotalHits()
 {
     if (isset($this->results)) {
         return $this->results->getTotalHits();
     }
 }
コード例 #5
0
 /**
  *
  * @param mixed $query
  * @param $fullResult (default = false) By default only the total hit count is returned. If set to true, the full ResultSet including facets is returned.
  * @return int|ResultSet
  */
 public function count($query = '', $fullResult = false)
 {
     $this->setOptionsAndQuery(null, $query);
     $query = $this->getQuery();
     $path = $this->getPath();
     $response = $this->getClient()->request($path, Request::GET, $query->toArray(), array(self::OPTION_SEARCH_TYPE => self::OPTION_SEARCH_TYPE_COUNT));
     $resultSet = new ResultSet($response, $query);
     return $fullResult ? $resultSet : $resultSet->getTotalHits();
 }
コード例 #6
0
ファイル: HttpTest.php プロジェクト: MediaWiki-stable/1.26.0
 /**
  * @group functional
  */
 public function testBodyReuse()
 {
     $client = $this->_getClient();
     $index = $client->getIndex('elastica_body_reuse_test');
     $index->create(array(), true);
     $this->_waitForAllocation($index);
     $type = $index->getType('test');
     $type->addDocument(new Document(1, array('test' => 'test')));
     $index->refresh();
     $resultSet = $index->search(array('query' => array('query_string' => array('query' => 'pew pew pew'))));
     $this->assertEquals(0, $resultSet->getTotalHits());
     $response = $index->request('/_search', 'POST');
     $resultSet = new ResultSet($response, Query::create(array()));
     $this->assertEquals(1, $resultSet->getTotalHits());
 }
コード例 #7
0
ファイル: Engine.php プロジェクト: javik223/Evron-Magento
 /**
  * Prepares query response.
  *
  * @param \Elastica\ResultSet $response
  * @return array
  */
 protected function _prepareQueryResponse($response)
 {
     /* @var $response \Elastica\ResultSet */
     if (!$response instanceof \Elastica\ResultSet || $response->getResponse()->hasError() || !$response->count()) {
         return array();
     }
     $this->_lastNumFound = (int) $response->getTotalHits();
     $result = array();
     foreach ($response->getResults() as $doc) {
         $result[] = $this->_toArray($doc->getSource());
     }
     return $result;
 }
コード例 #8
0
 /**
  * Return the total number of hits found from our search
  *
  * @return int
  */
 public function getTotalHits()
 {
     return $this->elasticaResultSet->getTotalHits();
 }
コード例 #9
0
 /**
  * getNextPage
  *
  * @param ResultSet $results
  * @param int $from
  * @access private
  * @return int
  */
 private function getNextPage(ResultSet $results)
 {
     $query = $results->getQuery();
     $from = $query->hasParam('from') ? $query->getParam('from') : 0;
     $size = $query->hasParam('size') ? $query->getParam('size') : 10;
     $hits = $results->getTotalHits();
     if (count($results) == 0 && $from > 0) {
         $msg = 'current page is higher than max page';
         throw new NoMoreResultException($msg);
     } elseif ($hits > $from + $size) {
         if ($size > 0) {
             $nextPage = (int) $from / $size + 2;
         } else {
             $nextPage = 2;
         }
     } else {
         $nextPage = null;
     }
     return $nextPage;
 }