function apachesolr_multisitesearch_add_facet_params in Apache Solr Multisite Search 6        
                          
                  
                        Same name and namespace in other branches
- 6.2 apachesolr_multisitesearch.module \apachesolr_multisitesearch_add_facet_params()
 
 
1 call to apachesolr_multisitesearch_add_facet_params()
  - apachesolr_multisitesearch_execute in ./apachesolr_multisitesearch.module
 
  - Execute a search results based on keyword, filter, and sort strings.
 
 
File
 
   - ./apachesolr_multisitesearch.module, line 166
 
  - Provides a multi-site search implementation for use with the Apache Solr module
 
Code
function apachesolr_multisitesearch_add_facet_params(&$params, $query) {
  $facet_query_limits = variable_get('apachesolr_facet_query_limits', array());
  $facet_missing = variable_get('apachesolr_facet_missing', array());
  foreach (apachesolr_multisitesearch_enabled_facets() as $module => $module_facets) {
    if (!module_exists($module)) {
      
      continue;
    }
    foreach ($module_facets as $delta => $facet_field) {
      
      if ($facet_field == 'created' || $facet_field == 'changed') {
        list($start, $end, $gap) = apachesolr_search_date_range($query, $facet_field);
        if ($gap) {
          $params['facet.date'][] = $facet_field;
          $params['f.' . $facet_field . '.facet.date.start'] = $start;
          $params['f.' . $facet_field . '.facet.date.end'] = $end;
          $params['f.' . $facet_field . '.facet.date.gap'] = $gap;
        }
      }
      else {
        $params['facet.field'][] = $facet_field;
        
        if (isset($facet_query_limits[$module][$delta])) {
          $params['f.' . $facet_field . '.facet.limit'] = $facet_query_limits[$module][$delta];
        }
        
        if (!empty($facet_missing[$module][$delta])) {
          $params['f.' . $facet_field . '.facet.missing'] = 'true';
        }
      }
    }
  }
  if (!empty($params['facet.field'])) {
    
    $params['facet.limit'] = variable_get('apachesolr_facet_query_limit_default', 20);
  }
}