Ubuntu mysql使用SphinxSE方式調(diào)用Sphinx與中文分詞的應(yīng)用
對(duì)大家推薦很好使用的Ubuntu mysql系統(tǒng),像讓大家對(duì)Ubuntu mysql系統(tǒng)有所了解,然后對(duì)Ubuntu mysql系統(tǒng)全面講解介紹,希望對(duì)大家有用
1、在Ubuntu mysql中的使用SphinxSE方式調(diào)用Sphinx
首先建立一張索引專用表:
- CREATETABLE`sphinx`(
- `id`int(11)NOTNULL,
- `weight`int(11)NOTNULL,
- `query`varchar(255)NOTNULL,
- `CATALOGID`INTNOTNULL,
- `EDITUSERID`INTNOTNULL,
- `HITS`INTNULL,
- `ADDTIME`INTNOTNULL,KEY
- `Query`(`Query`)
- )ENGINE=SPHINXDEFAULTCHARSET=utf8CONNECTION='sphinx://localhost:3312/test1'
test1:索引的名稱,可以在sphinx.conf中查找到建立完索引專用表后,我們就可以在Ubuntu mysql中使用它了,例如,在Ubuntu mysql中輸入
- SELECTdoc.*FROMdocumentsdocJOINsphinxON(doc.id=sphinx.id)
- WHEREquery='doc;mode=any'
運(yùn)行后,結(jié)果記錄中將會(huì)顯示包含doc字符串的所用記錄行關(guān)于query的語(yǔ)法,還有sphinx的配置等信息你可以請(qǐng)參考:http://www.sphinxsearch.com/doc.html這里有十分詳細(xì)的介紹,在這里我們只做一個(gè)簡(jiǎn)單的介紹,希望能起到拋磚引玉的效果。
2、Ubuntu mysql中文分詞的應(yīng)用
在應(yīng)用之前我們先將apache2和phpmyadmin裝上,以便輸入中文進(jìn)行測(cè)試
- apt-getinstallapache2
- apt-getinstallphpmyadmin
訪問(wèn):http://192.168.2.249/phpmyadmin/出現(xiàn)了熟悉的界面,ok,安裝成功.
接著我們需要修改/etc/php5/apache2/php.ini中的mysql.default_socket值設(shè)置成/tmp/mysql.sock這樣我們就可以在http://192.168.2.249/phpmyadmin/上通過(guò)root用戶(密碼空)訪問(wèn)Ubuntu mysql了
生成和使用分詞字典mmseg-u/root/mmseg-0.7.3/data/unigram.txt將生成unigram.txt.lib文件將文件拷貝到/usr/local/sphinx/下面,命名為uni.libcpunigram.txt.lib/usr/local/sphinx/uni.lib修改sphinx.conf(/usr/local/sphinx/etc/sphinx.conf)配置文件在索引中加入
- charset_type=zh_cn.utf-8
- charset_dictpath=/usr/local/sphinx/
配置然后通過(guò)/usr/local/sphinx/bin/indexer--config/usr/local/sphinx/etc/sphinx.conf–all(如果searchd已經(jīng)再運(yùn)行,先kill它再運(yùn)行,下一部分,我們會(huì)介紹怎樣在searchd運(yùn)行的狀態(tài)下,加載索引)重建索引,成功后,開(kāi)啟索引監(jiān)聽(tīng)/usr/local/sphinx/bin/searchd--config/usr/local/sphinx/etc/sphinx.conf這樣,就可以在phpmyadmin中進(jìn)行測(cè)試了。
- SELECTdoc.*FROMdocumentsdocJOINsphinxON(doc.id=sphinx.id)
- WHEREquery='張學(xué)友;mode=any'
注意:在添加完數(shù)據(jù)后,需要重新加載索引,這樣新的數(shù)據(jù)才能被緩存進(jìn)去
【編輯推薦】