function search_api_stats_views_data in Search API Stats 8
Same name and namespace in other branches
- 7 includes/views/search_api_stats.views.inc \search_api_stats_views_data()
Implements hook_views_data().
File
- includes/
views/ search_api_stats.views.inc, line 10
Code
function search_api_stats_views_data() {
$data['search_api_stats']['table']['group'] = t('Search API stats');
// For other base tables, explain how we join.
$data['search_api_stats']['table']['join'] = [
'users' => [
'left_field' => 'uid',
'field' => 'uid',
],
];
$default_int = [
'field' => [
'handler' => 'views_handler_field_numeric',
'click sortable' => TRUE,
],
'filter' => [
'handler' => 'views_handler_filter_numeric',
],
'argument' => [
'handler' => 'views_handler_argument',
],
'sort' => [
'handler' => 'views_handler_sort',
],
];
$default_string = [
'field' => [
'handler' => 'views_handler_field',
'click sortable' => TRUE,
],
'filter' => [
'handler' => 'views_handler_filter_string',
],
'argument' => [
'handler' => 'views_handler_argument',
],
'sort' => [
'handler' => 'views_handler_sort',
],
];
$default_language = [
'field' => [
'handler' => 'views_handler_field_locale_language',
'click sortable' => TRUE,
],
'filter' => [
'handler' => 'views_handler_filter_locale_language',
],
'argument' => [
'handler' => 'views_handler_argument_locale_language',
],
];
$default_date = [
'field' => [
'handler' => 'views_handler_field_date',
'click sortable' => TRUE,
],
'filter' => [
'handler' => 'views_handler_filter_date',
],
'argument' => [
'handler' => 'views_handler_argument_date',
],
'sort' => [
'handler' => 'views_handler_sort_date',
],
];
// ----------------------------------------------------------------
// search_api_stats table -- fields.
$data['search_api_stats']['qid'] = [
'title' => t('Primary Key'),
'help' => t('The Search Query ID.'),
] + $default_int;
$data['search_api_stats']['s_name'] = [
'title' => t('Server name'),
'help' => t('Server Name.'),
] + $default_string;
$data['search_api_stats']['i_name'] = [
'title' => t('Index machine name'),
'help' => t('Index machine name'),
] + $default_string;
$data['search_api_stats']['timestamp'] = [
'title' => t('Timestamp'),
'help' => t('Unix timestamp of when query occurred.'),
] + $default_date;
$data['search_api_stats']['numfound'] = [
'title' => t('Number of found results'),
'help' => t('Number of results.'),
] + $default_int;
$data['search_api_stats']['total_time'] = [
'title' => t('Total time for the query'),
'help' => t('Number of results.'),
] + $default_int;
$data['search_api_stats']['prepare_time'] = [
'title' => t('Prepare time'),
'help' => t('Time taken by Search API prepare phase for this query (miliseconds).'),
] + $default_int;
$data['search_api_stats']['process_time'] = [
'title' => t('Process time'),
'help' => t('Time taken by Search API process phase for this query (miliseconds).'),
] + $default_int;
$data['search_api_stats']['uid'] = [
'title' => t('User ID'),
'help' => t('The {users}.uid of the user who triggered the query.'),
] + $default_int;
$data['search_api_stats']['sid'] = [
'title' => t('Session ID'),
'help' => t('Session ID of user who triggered the query.'),
] + $default_string;
$data['search_api_stats']['showed_suggestions'] = [
'title' => t('Showed suggestions'),
'help' => t('Indicates whether a spelling suggestion was shown.'),
] + $default_int;
$data['search_api_stats']['page'] = [
'title' => t('Page'),
'help' => t('Current results page.'),
] + $default_string;
$data['search_api_stats']['keywords'] = [
'title' => t('Keywords'),
'help' => t('Query keywords arguments.'),
] + $default_string;
$data['search_api_stats']['filters'] = [
'title' => t('Filters'),
'help' => t('Query filter arguments.'),
] + $default_string;
$data['search_api_stats']['sort'] = [
'title' => t('Sort'),
'help' => t('Query sort arguments.'),
] + $default_string;
if (module_exists('locale')) {
$data['search_api_stats']['language'] = [
'title' => t('Language'),
'help' => t('Search Language In.'),
] + $default_language;
}
$data['search_api_stats']['table']['base'] = [
'field' => 'qid',
'title' => t('Search API stats'),
'help' => t("Search API stats."),
'weight' => -9,
];
// Relationship to the 'Users' table.
$data['search_api_stats']['uid'] = [
'title' => t('User ID'),
'help' => t('Relationship to users.'),
'relationship' => [
'label' => t('User ID'),
'base' => 'users',
'base field' => 'uid',
// This allows us to not show this relationship if the base is already
// user so users won't create circular relationships.
'skip base' => [
'users',
],
],
];
return $data;
}