/** * * @access public * @return void * @author majiechao * @修改日期 2015-09-15 16:18:11 */ public function wordAction() { $text = $this->request->get('text', 'string', ''); if (empty($text)) { exit('[]'); } $mss = mss_create("confilter_main", -1); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); if ($is_ready) { // 如果redis dict最后更新时间大于mss实例创建时间,就重载 $updateTime = $this->di['confilter']->get($this->dictUpdateKey); if ($updateTime > $timestamp) { mss_destroy($mss); $mss = mss_create("confilter_main", -1); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); } } else { $this->loadDict($mss, $this->dictKey); } $matches = mss_search($mss, $text); $word_arr = array(); foreach ($matches as $key => $value) { $word_arr[] = $value[0]; } $json = json_encode($word_arr); echo $json; exit; }
/** * 提取关键字 * @return json * @author 彭东江 **/ public function word($text) { $redis = \Phalcon\DI::getDefault()->get("redis"); if (!isset($text) || empty($text)) { exit; } //查询词语转换成大写 $text = strtolower($text); $mss = mss_create("default", -1); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); if ($is_ready) { //如果redis dict最后更新时间大于mss实例创建时间,就重载 $updateTime = $redis->get($this->dictUpdateKey); if ($updateTime > $timestamp) { mss_destroy($mss); $mss = mss_create("default"); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); } } if (!$is_ready) { $this->loadDict($mss, $this->dictKey); } $mode = '/[^\\x{4e00}-\\x{9fa5}|a-z|\\d]/ui'; //只保留中文英文数字 $new_text = preg_replace($mode, '', $text); $matches = mss_search($mss, $new_text); $word_arr = array(); foreach ($matches as $key => $value) { $word_arr[] = $value[0]; } $json = json_encode($word_arr); return $json; }
} $line = explode(":", $line, 2); if (count($line) == 2) { mss_add($mss, trim($line[0]), trim($line[1])); } else { mss_add($mss, trim($line[0])); } } } $mss = mss_create("example"); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); if ($is_ready) { $stat = stat("example.dic"); if ($stat['mtime'] > $timestamp) { mss_destroy($mss); $mss = mss_create("example"); $timestamp = mss_timestamp($mss); $is_ready = mss_is_ready($mss); } } if (!$is_ready) { echo "Load dict\n"; load_dict($mss, "example.dic"); } $text = file_get_contents("example.txt"); // // echo "mss_creation: " . date("Y-m-d H:i:s", $timestamp) . "\n"; // //