Example #1
0
 public function serverAction()
 {
     $server = new Jsonrpc_Server();
     $server->register('find', function ($keywords, $offset = 0, $limit = 12) {
         $segmenter = new Search_Segment();
         $matcher = new Search_Match('gamedb');
         $text = $segmenter->cutString('lol');
         $data = $matcher->call($text, 0, 12);
         foreach ($data['list'] as $k => $v) {
             $configer = new Search_Config($v->app);
             $data['list'][$k] = array('title' => $configer->formatTitle($v->table, $v, $text), 'detail' => $configer->formatDetail($v->table, $v, $text), 'url' => $configer->formatUrl($v->table, $v), 'image_url' => $configer->formatImage($v->table, $v));
         }
         $data['keyword'] = $text;
         return $data;
     });
     echo $server->execute();
 }
Example #2
0
 public function indexAction()
 {
     echo "/xapian/index\n";
     $this->table = 'hero';
     $config = new Search_Config('lol');
     $indexer = new Search_Index("gamedb");
     $segmenter = new Search_Segment();
     $indexer->setIdPrefix($config->getApp(), $this->table, $config->getPrimaryKey($this->table));
     $query = $segmenter->query();
     //=> Search_Index::add /*
     foreach ($query as $key => $value) {
         #$arr = $segmenter->cutQuery($value,$config->getIndex($this->table));
         /*$indexer->add($value,
               $arr,
               array($config->getApp(),
                   $config->getAppName(),
                   $this->table,
                   $config->getTableName($this->table)
               )
           );*/
     }
     // */
     //=> Search_Index::al /*
     foreach ($query as $key => $value) {
         $alert_data = array();
         $arr = $segmenter->cutQuery($value, $config->getIndex($this->table));
         #$alert_data[$config->getPrimaryKey($this->table)] = $value[$config->getPrimaryKey($this->table)];
         #foreach ($config->getIndex($this->table) as $k=>$v){
         #    $alert_data[$v] = $value[$v];
         #}
         $indexer->alert($value, $arr, array($config->getApp(), $config->getAppName(), $this->table, $config->getTableName($this->table)));
     }
     // */
     //=> Search_Index::delete
     /*
             foreach ($query as $key=>$value){
                 $indexer->delete($value);
             }
             // */
     return false;
 }