static function getObjectPoolBySolrQuery($solr_query = null)
 {
     include_once drupal_get_path('module', 'apiary_project') . '/workflow/include/search.php';
     $solr_search = new search();
     $specimen_list = array();
     if (strpos(strtolower($solr_query), 'q=') > -1) {
     } else {
         $solr_query = 'q=' . $solr_query;
     }
     if (strpos(strtolower($solr_query), '&rows=') > -1) {
     } else {
         $solr_query .= '&rows=10000';
     }
     $solr_results = $solr_search->doSearch($solr_query);
     if ($solr_results != false) {
         $solr_sxml = new SimpleXMLElement($solr_results);
         foreach ($solr_sxml->result[0]->doc as $doc) {
             foreach ($doc->children() as $sxml_node) {
                 $node_value = (string) $sxml_node;
                 if (strpos($node_value, 'ap-specimen:') > -1) {
                     if (!array_search($node_value, $specimen_list)) {
                         array_push($specimen_list, $node_value);
                     }
                 }
             }
         }
     }
     return $specimen_list;
 }
function solr_query_xml($q, $fl = '', $op = '', $rows = '')
{
    $solr_search = new search();
    if (strpos($q, "q=") === false) {
        $q = 'q=' . str_replace('&', '', $q);
    }
    $solr_query = $q;
    if (!empty($fl)) {
        if (strpos($fl, 'fl=') === false) {
            $fl = 'fl=' . $fl;
        }
        $solr_query .= '&' . str_replace('&', '', $fl);
    }
    if (!empty($op)) {
        if (strpos($op, 'op=') === false) {
            $op = 'op=' . $op;
        }
        $solr_query .= '&' . str_replace('&', '', $op);
    }
    if (!empty($rows)) {
        if (strpos($rows, 'rows=') === false) {
            $rows = 'rows=' . $rows;
        }
        $solr_query .= '&' . str_replace('&', '', $rows);
    }
    //echo "solr_query = ".$solr_query."<br>\n";
    $solr_results = $solr_search->doSearch($solr_query);
    if ($solr_results != false) {
        $solr_sxml = new SimpleXMLElement($solr_results);
        return $solr_sxml;
    } else {
        return false;
    }
}
<?php

switch ($_POST['action']) {
    case 'search':
        $search = new search($_POST['values']['needle']);
        $search->doSearch();
        echo json_encode(array('result' => $search->result));
        break;
}
function solr_query_search($q, $fl = '', $op = '', $rows = '')
{
    $solr_search = new search();
    if (strpos($q, "q=") === false) {
        $q = 'q=' . str_replace('&', '', $q);
    }
    $solr_query = $q;
    if (!empty($fl)) {
        if (strpos($fl, 'fl=') === false) {
            $fl = 'fl=' . $fl;
        }
        $solr_query .= '&' . str_replace('&', '', $fl);
    }
    if (!empty($op)) {
        if (strpos($op, 'op=') === false) {
            $op = 'op=' . $op;
        }
        $solr_query .= '&' . str_replace('&', '', $op);
    }
    if (!empty($rows)) {
        if (strpos($rows, 'rows=') === false) {
            $rows = 'rows=' . $rows;
        }
        $solr_query .= '&' . str_replace('&', '', $rows);
    }
    //echo "solr_query = ".$solr_query."<br>\n";
    return $solr_search->doSearch($solr_query);
}