/**  ?? _solrToExcel_QuerySolrServer()
 *  This function will look at $_GET (and $_POST data (via $_REQUEST)) and build the nessesary
 *  Solr-query to hit the Solr-search-server with, and return Solr's responce.
 */
function _solrToExcel_QuerySolrServer()
{
    $solr = apachesolr_get_solr();
    $solrsort = '';
    $params = unserialize($_POST['params_serialized']);
    $selectedOption = $_POST['dc'];
    if ($selectedOption == 'range') {
        $pageFrom = intval($_POST['rangefrom']);
        $pageTo = intval($_POST['rangeto']);
        $params["start"] = 10 * ($pageFrom - 1);
        $params["rows"] = 10 * ($pageTo - $pageFrom + 1);
    } else {
        if (strpos($selectedOption, '_')) {
            $pageNumber = intval(str_replace('current_', '', $selectedOption));
            $params["start"] = $pageNumber >= 1 ? $pageNumber * 10 : 0;
            $params["rows"] = 10;
        } else {
            $params["start"] = 0;
            $params["rows"] = intval($selectedOption);
        }
    }
    $query1 = apachesolr_drupal_query('apachesolr', $params);
    apachesolr_search_add_boost_params($query1);
    $response = $query1->search();
    return $response;
}
$params['hl.fl'] = 'content';
$params['hl.snippets'] = 3;
$params['hl.mergeContigious'] = array(TRUE);
$params['f.content.hl.alternateField'] = array('teaser');
$params['f.content.hl.maxAlternateFieldLength'] = array(256);
$params['qf'] = array('content^40', 'label^5.0', 'tags_h1^5.0', 'tags_h2_h3^3.0', 'tags_h4_h5_h6^2.0', 'tags_inline^1.0', 'taxonomy_names^2.0', 'tos_name^3.0');
$params['facet'] = TRUE;
$params['facet.sort'] = array('count');
$params['facet.mincount'] = 1;
$params['facet.field'] = array('{!ex=bundle}bundle');
$params['f.bundle.facet.limit'] = array(50);
$params['f.bundle.facet.mincount'] = array(1);
$params["start"] = 0;
$params["rows"] = 10;
$query = apachesolr_drupal_query('apachesolr', $params);
apachesolr_search_add_boost_params($query);
$response = $query->search();
$results = $response->response->docs;
if (!empty($_REQUEST['format']) && strcasecmp('csv', $_REQUEST['format']) !== FALSE) {
    ob_clean();
    $out = fopen('php://output', 'w');
    header('Content-Type: text/csv');
    header('Content-Disposition: inline');
    //   Print the results
    $header_done = FALSE;
    foreach ($results as $result_object) {
        $result = (array) $result_object;
        if (!$header_done) {
            $header = array_keys($result);
            fputcsv($out, $header);
            $header_done = TRUE;