You are here

function elasticsearch_connector_statistics_title_list_alltime in Elasticsearch Connector 7.2

Same name and namespace in other branches
  1. 7.5 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module \elasticsearch_connector_statistics_title_list_alltime()
  2. 7 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module \elasticsearch_connector_statistics_title_list_alltime()

Returns the most viewed content for today.

Parameters

$rows: The number of rows to be returned.

Return value

array|FALSE

1 call to elasticsearch_connector_statistics_title_list_alltime()
elasticsearch_connector_statistics_block_view in modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module
Implements hook_block_view().

File

modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module, line 585
Logs and displays access statistics for a site.

Code

function elasticsearch_connector_statistics_title_list_alltime($rows) {
  $result = array();
  $client_id = elasticsearch_connector_statistics_get_cluster_vars();
  if (!empty($client_id)) {
    $client = elasticsearch_connector_get_client_by_id($client_id);
    if ($client) {
      try {
        $params = array();
        $index_name = elasticsearch_connector_statistics_get_cluster_vars('index');
        $params['index'] = $index_name;
        $params['type'] = variable_get('elasticsearch_connector_statistics_type', ELASTICSEARCH_CONNECTOR_STATS_DEFAULT_TYPE);
        $params['search_type'] = 'count';
        $params['body']['query'] = array(
          'filtered' => array(
            'query' => array(
              'match_all' => array(),
            ),
            'filter' => array(
              'and' => array(
                array(
                  'term' => array(
                    'entity.entity_type' => 'node',
                  ),
                ),
                array(
                  'term' => array(
                    'entity.page' => ELASTICSEARCH_CONNECTOR_STATS_PAGE_VIEW,
                  ),
                ),
              ),
            ),
          ),
        );
        $field_faceting = 'entity.entity_id';
        $facet_name = 'facet_' . $field_faceting;
        $params['body']['facets'][$facet_name]['terms']['field'] = $field_faceting;
        $params['body']['facets'][$facet_name]['terms']['size'] = $rows;
        $search_result = $client
          ->search($params);
        if (!empty($search_result['facets'])) {
          foreach ($search_result['facets'][$facet_name]['terms'] as $facet) {
            $node = node_load($facet['term']);
            $result[] = $node;
          }
        }
      } catch (Exception $e) {
        watchdog('elasticsearch_connector_statistics', $e
          ->getMessage(), array(), WATCHDOG_ERROR);
      }
    }
  }
  return $result;
}