Ubuntu mysql使用SphinxSE方式調用Sphinx與中文分詞的應用
對大家推薦很好使用的Ubuntu mysql系統,像讓大家對Ubuntu mysql系統有所了解,然后對Ubuntu mysql系統全面講解介紹,希望對大家有用
1、在Ubuntu mysql中的使用SphinxSE方式調用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'
運行后,結果記錄中將會顯示包含doc字符串的所用記錄行關于query的語法,還有sphinx的配置等信息你可以請參考:http://www.sphinxsearch.com/doc.html這里有十分詳細的介紹,在這里我們只做一個簡單的介紹,希望能起到拋磚引玉的效果。
2、Ubuntu mysql中文分詞的應用
在應用之前我們先將apache2和phpmyadmin裝上,以便輸入中文進行測試
- apt-getinstallapache2
- apt-getinstallphpmyadmin
訪問:http://192.168.2.249/phpmyadmin/出現了熟悉的界面,ok,安裝成功.
接著我們需要修改/etc/php5/apache2/php.ini中的mysql.default_socket值設置成/tmp/mysql.sock這樣我們就可以在http://192.168.2.249/phpmyadmin/上通過root用戶(密碼空)訪問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/
配置然后通過/usr/local/sphinx/bin/indexer--config/usr/local/sphinx/etc/sphinx.conf–all(如果searchd已經再運行,先kill它再運行,下一部分,我們會介紹怎樣在searchd運行的狀態下,加載索引)重建索引,成功后,開啟索引監聽/usr/local/sphinx/bin/searchd--config/usr/local/sphinx/etc/sphinx.conf這樣,就可以在phpmyadmin中進行測試了。
- SELECTdoc.*FROMdocumentsdocJOINsphinxON(doc.id=sphinx.id)
- WHEREquery='張學友;mode=any'
注意:在添加完數據后,需要重新加載索引,這樣新的數據才能被緩存進去
【編輯推薦】