Coreseek(Sphinx) MMSEG 自制词库(附源码)

21 4月

——菜鸟 Linux 服务器搭建 随笔 连载之九

继上次之后玩弄sphinx后,突然发现,原来她并不支持类似摘要的功能,囧。我还真是后知后觉。起初还难以置信,之后看了官网相应FAQ 后,发现确是如此,看来我被lucene搞混了,还以为都有的呢 - - 小小郁闷了一下,顺便又回头看了下lucene,zendframework的那个纯php的lucene貌似还是不合适,php的效率比较堪忧,另外他还致命的不支持分布式的存储,唉。正纠结是不是要去研究下java lucene的时候,看到一篇文章研究,表明在主键索引的mysql中用主键去搜索,效率还是异常高的,千万级的数据基本是0.0x秒级别的速度。就不知道联表后会如何了,不知道用mysql的view会不会效率慢。另外lucene的索引速度比sphinx要慢9倍之多! 下面是一个简单的词库制作的东东,因为上次听说如果词库里面有重复的词会报错来着, 建个表先: CREATE TABLE IF NOT EXISTS `yoowords` ( `word` varchar(255) NOT NULL, `file` varchar(255) NOT NULL, `freq` int(10) unsigned NOT NULL DEFAULT '1', `type` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`word`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 然后把http://www.sogou.com/labs/dl/w.html和http://wubi.sogou.com/dict/list.php?c=306&page=3自己喜欢的词库txt的下载下来。放到某个目录(我是dict) 导入的php: $link = mysql_connect("fedora2", "sphinx", "sstsst") or die("Could not connect: " . mysql_error()); mysql_select_db('mmseg') or die('Could not select database'); if ($handle = opendir('./dict')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; $lines = file("./dict/$file"); foreach ($lines as $line_num => $line) { $words = (array)explode("\t",$line); $result = mysql_query("SELECT * from yoowords where word = '".$words[0]."'"); if(!mysql_fetch_row($result)){ mysql_query("insert into yoowords values('".$words[0]."','".$file."','".$words[1]."','".$words[2]."')"); } } } } closedir($handle); } 导出的php: $link = mysql_connect("fedora2", "sphinx", "sstsst") or die("Could not connect: " . mysql_error()); mysql_select_db('mmseg') or die('Could not select database'); $filename = 'words.txt'; if (!$handle = fopen($filename, 'x')) { echo "不能打开文件 $filename"; exit; } $result = mysql_query("SELECT * from yoowords"); while($row = mysql_fetch_row($result)){ $words.= preg_replace("/[ \f\n\r\v]/","",$row[0]."\t".$row[2])."\nx:".$row[2]."\n"; } if (fwrite($handle,$words) === FALSE) { echo "不能写入到文件 $filename"; exit; } fclose($handle); 暂时,至此。

Tags: ,

Leave a Reply

貓熊寶寶幼齒園

姜經緯的博客