Linux mmseg 同義詞/複合分詞處理:
其基本使用情況爲:
詞庫包含:
南京西路、南京、西路
索引時:
文本中的「南京西路」會被同時索引爲以上三者
查詢時:
輸入南京西路,能夠直接匹配南京西路,而不匹配南京或者西路;
輸入南京或者西路,也能夠搜索到南京西路
用法:
1. 處理unigram.txt生成同義詞庫文件
注*:在mmseg安裝目錄 /mmseg3/etc/ 下運行
$ python (加安裝以前coreseek目錄路徑)mmseg-3.2.14(源代碼=>是解壓後的coreseek 目錄下)/script/build_thesaurus.py unigram.txt > thesaurus.txt
//下載後的壓縮包自定義存放
$ python /usr/local/src/coreseek-4.1-beta/mmseg-3.2.14/script/build_thesaurus.py unigram.txt > thesaurus.txt
//我本身的存放目錄
*thesaurus.txt文件的格式以下:
南京西路
-南京,西路,
張三丰
-太極宗師,武當祖師,
2. 生成同義詞詞典
注*:在mmseg安裝目錄 /mmseg3/etc/ 下運行
mmseg -t thesaurus.txt
//mmseg 在安裝後的mmseg3/bin下
$ /usr/local/mmseg3/bin/mmseg -t thesaurus.txt
//我本身的安裝目錄
3. 將thesaurus.lib放到uni.lib同一目錄
4. 停掉要使用同義詞/複合詞的那個sphinx ,從新建索引indexer -> 啓動sphinx searchd -> 搜索search
5 注:同義詞不影響分詞。隻影響索引
6. coreseek索引和搜索時,會自動進行復合分詞處理。