Example #1
0
 function autocomplete()
 {
     $q = $_GET["q"];
     if (!$q) {
         return;
     }
     $md5_keyword = md5($q);
     $aryData = array();
     $aryData = eb_memcache::do_get("Auto_complete:" . $md5_keyword);
     if (empty($aryData)) {
         $solr = new Solr_Search();
         $response = $solr->autocomplete($q);
         $items = $response['terms']['name'];
         foreach ($items as $key => $value) {
             if ($key % 2 == 0) {
                 $aryData[] = array('keyword' => $value);
                 if (strpos($value, $q) !== false) {
                     echo "{$value}\n";
                 }
             }
         }
         if (is_array($aryData) && count($aryData) > 0) {
             eb_memcache::do_put("Auto_complete:" . $md5_keyword, $aryData);
         }
     } else {
         foreach ($aryData as $key => $value) {
             if (strpos($value['keyword'], $q) !== false) {
                 $vl = $value['keyword'];
                 echo "{$vl}\n";
             }
         }
     }
 }