예제 #1
0
 public function actionAjaxSuggestion()
 {
     if (isset($_REQUEST['term'])) {
         $term = $_REQUEST['term'];
     } else {
         echo json_encode(array());
         return;
     }
     $termset = preg_split('#\\W#', $term);
     $termset = array_values(array_filter($termset, function ($var) {
         return $var;
     }));
     if (!count($termset)) {
         echo json_encode(array());
         return;
     }
     $term = $termset[0];
     $solr = new DealModel();
     try {
         $response = $solr->getSuggestions($term);
     } catch (Exception $e) {
         $response = NULL;
         dd($e->getMessage());
     }
     array_shift($termset);
     $result = array();
     foreach ($response as $r) {
         $found = TRUE;
         foreach ($termset as $t) {
             if (strpos($r, $t) == FALSE) {
                 $found = FALSE;
                 break;
             }
         }
         if ($found) {
             $result[] = $r;
         }
     }
     echo json_encode($result);
     Yii::app()->end();
 }