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(); }
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; }