예제 #1
0
    return "content_" . $search_language_code;
}
$action = getRequestParam("action");
$mode = getRequestParam("mode");
// mode = tb means "twitter bootstrap"
$res = "";
if ($action == "autocomplete" || $action == "fiedvalues" || $action == "gettext" || $action == "search" || $action == "gettagcloud") {
    $solr = new Solr();
    if ($solr->connect($theme->getSolrHost(), $theme->getSolrPort(), $theme->getSolrBaseUrl(), $theme->getSolrCore())) {
        if ($action == "autocomplete") {
            $q = $_GET['q'];
            $q = cleanUpQ($q);
            $q = accentsReplace($q);
            $q = strtolower($q);
            $res = '';
            $values = $solr->getTerms($q, 'content_ntoken', 0, 5);
            if (!empty($values)) {
                $pattern = "/(_|\\(|\\.|\\/|\\-|\\[|'|,)/";
                $values = array_values(preg_grep($pattern, $values, PREG_GREP_INVERT));
                $q_terms_count = count(explode(' ', $q));
                $pattern1 = '[^\\s]*';
                for ($i = 0; $i < $q_terms_count - 1; $i++) {
                    $pattern1 .= '\\s[^\\s]*';
                }
                $pattern2 = $pattern1 . '\\s[^\\s]*';
                $pattern = '/^(' . $pattern1 . '|' . $pattern2 . ')$/';
                $values = array_values(preg_grep($pattern, $values));
                $arr = array();
                $arr["options"] = $values;
                $res = json_encode($arr);
            }