日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > MySql > PHP+MYSQL 簡單實現中文分詞全文索引

PHP+MYSQL 簡單實現中文分詞全文索引

來源:程序員人生   發布時間:2014-02-09 02:52:07 閱讀次數:3846次
相信很多人都研究過MYSQL的中文全文索引問題,目前MYSQL不支持中文全文索引,無奈~~~

  網上找了N多關于PHP+MYSQL中文全文索引的文章都沒有一個好用的,對于一般的菜鳥根本不知道怎么使用,PHP中文分詞有DDEDE的,DEDE的詞庫不是很強大,還算可以用吧!

  還有一個是《SCWS - 簡易中文分詞系統》這個目前對于一般菜鳥根本不知道怎么用,雖然有人編譯了Windows版的,但安裝還是挺麻煩的,我尚未測試過!

  //==========================

  廢話不多說了,首先去DEDE下載分詞算法函數和詞庫;下載地址:http://www.dedecms.com/html/chanpinxiazai/20061229/3.html

  里面有詳細的使用說明,我在這里舉一個使用的例子;

  MYSQL表名:music

  字段:title,tag

  

  require("lib_splitword_full.php");

  $str = "這里是你要分詞的內容,一般不要超過1024KB會好一點,否則會很慢!";

  $sp = new SplitWord();//實例化

  $dd = explode(" ",$sp->SplitRMM($str));

  $i=0;

  foreach ($dd as $key=>$var) {

  if (strlen($var)>2)//UTF8編碼的請設置為3,因為UTF8編碼的中文一般為3個字節以上,過濾單個字不保存!

  {

  $str.=base64_encode($var)." ";//由于MYSQL不支持中文全文索引,所以在分詞中我們必須把詞轉換成字母或者數字,這里我選擇了base64編碼

  //當然大家還可以把中文轉成區碼,但我測試過區碼的方法,感覺很一般,所以在這樣我推薦大家使用base64

  $i++;

  }

  if ($i>=50) break;//這里是設置你要存儲多少個詞組,如果是文章可能會有N多詞組,你可以設置大一點,但如果你對標題分詞的話,50個已經足夠了!

  //這樣運行未編碼得出來的結果:這里 分詞 內容 一般 不要 超過 1024KB 一點 否則

  //base64編碼后的結果:1eLA7w== t9a0yg== xNrI3Q== 0ruw4w== srvSqg== s6y5/Q== MTAyNEtC 0ru14w== t/HU8g==

  }

  ?>

  這樣我們就可以把分好詞而且轉換成編碼的分詞存進 tag 字段了,當然tag字段必須設置成全文索引 full text 而且數據表類型必須為MyISAM。

  tag字段數據類型為CHAR和VARCHAR、text,有關如何創建MYSQL全文索引,大家可以搜索一下《mysql創建索引》遍地開花,到處都是!

  下面的例子是根據TAG字段的內容進行全文索引查詢:

  

  include("Mysql.class.php");

  $rs = $DB->get_one("select title,tag from music where id=$id");//根據ID讀取title和tag字段內容

  $title = $rs['title'];

  $sql = $DB->query("select title,MATCH(tag) AGAINST('".trim($rs['tag'])."' IN BOOLEAN MODE) AS score from music where MATCH(tag) AGAINST('".trim($rs['tag'])."' IN BOOLEAN MODE) ORDER BY score DESC limit 21");//這里是查詢20條相似的內容,而且按相似的排序,21是因為同一條記錄都會匹配出來!

  while ($rs = $DB->fetch_array($sql))

  {

  if ($rs['title']!=$title)

  {

  echo $rs['title']."
";

  }

  }

  $DB->close();

  ?>

  如果大家想看效果可以到我的小站看演示:http://www.dj965.com

  以上的例子就實現了PHP+MYSQL簡單的中文分詞全文索引!

  希望對跟我一樣的菜鳥有一定的幫助吧!

  本人BLOG:http://hi.baidu.com/web20/

文章來自:http://www.admin5.com/article/20080717/94313.shtml
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品久久久久久久久久久久包黑料 | 91i在线 | 日本啊v在线 | 福利在线电影 | av中文字幕第一页 | 99国产在线 | 中文字幕一区在线观看视频 | 永久精品 | 久久久久久国产精品免费免费狐狸 | 天天操夜夜逼 | 日本高清视频在线 | 久久久网 | 香蕉视频成年人 | 久久成人国产 | 久久久一区二区三区 | 久久九九久久九九 | 欧美伊人 | 久久99精品久久久久久噜噜 | av一级毛片 | www色噜噜 | 欧美精品成人一区二区在线观看 | 国内精品国产成人国产三级粉色 | 美女视频黄色免费 | 久久激情网站 | 粉嫩蜜臀av国产精品网站 | 日本a在线 | 日日爱影视| 91网站免费观看 | 国产日韩一区二区三区 | 亚洲久久久久 | 久久久国产精品 | 免费黄色在线 | 日韩免费三级 | 久久99色| 国产福利在线观看 | 国产精品视频一区二区三区不卡 | 国产成人欧美一区二区三区八 | 99久久精品国产毛片 | 日韩精品 电影一区 亚洲 | 中文字幕亚洲视频 | 中文字幕第一页在线 |