Sphinx並不支持中文分詞, 也就不支持中文搜索, Coreseek = Sphinx + MMSEG(中文分詞算法)mysql
1.下載算法
1).到官網下載sql
2).解壓後有三個文件夾測試
csft-3.2.14: Sphinxspa
mmseg-3.2.14: 中文分詞組件code
testpack: 接口開發包blog
2.安裝索引
1).先安裝mmseg, 由於Coreseek會用到接口
cd mmseg-3.2.14 ./configure --prefix=/usr/local/mmseg
此時若是Makefile文件建立成功, 可是出現了一個config.status: error: cannot find input file: src/Makefile.in錯誤信息, 使用如下命令從新編譯開發
aclocal libtoolize --force automake --add-missing autoconf autoheader make clean ./configure --prefix=/usr/local/mmseg
執行安裝
make && make install
2).安裝csft(即Coreseek)
./configure --prefix=/usr/local/coreseek --with-mysql=/usr/local/mysql --with-mmseg=/usr/local/mmseg --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib make && make install
3.中文分詞算法分類
1).基於字符串匹配的分詞方法
基於字典, 進行挨個的詞條匹配
三個要素: 分詞詞典, 文本掃描順序, 匹配原則
掃描順序: 正向, 逆向, 雙向
匹配原則: 最大, 最小, 逐詞,最佳
2).基於理解的分詞方法, 正在測試階段
3).基於統計的分詞方法, 能夠根據相鄰的字出現的次數和頻率等自動識別生詞, 自動消除歧義
4.配置Coreseek
cp /usr/local/coreseek/etc/sphinx.conf.dist /usr/local/coreseek/etc/csft.conf #與Sphinx不一樣的是配置文件名不一樣 #接下來按照Sphinx配置便可, 注意索引中的此兩處配置 #charset_type = zh_cn.utf-8 #charset_dictpath = /usr/local/mmseg/etc/
5.生成索引
cd /usr/local/coreseek/bin
./indexer --all
6.查找內容
cd /usr/local/coreseek/bin
./search 隨永傑