Coreseek-帶中文分詞的Sphinx

weixin_30639719發表於2020-04-05

Sphinx並不支援中文分詞, 也就不支援中文搜尋, Coreseek = Sphinx + MMSEG(中文分詞演算法)

1.下載

  1).到官網下載

  2).解壓後有三個資料夾

    csft-3.2.14: Sphinx

    mmseg-3.2.14: 中文分片語件

    testpack: 介面開發包

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 隨永傑

 

轉載於:https://www.cnblogs.com/JohnABC/p/4733682.html

相關文章