歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> coreseek-3.2.13兼容sphinx-0.9.9的配置

coreseek-3.2.13兼容sphinx-0.9.9的配置

日期:2017/2/28 16:15:50   编辑:Linux教程

coreseek-3.2.13兼容sphinx-0.9.9的配置,可以不經修改,即可直接使用。

不過,為了更好的針對中文進行檢索,則需要使用coreseek新增的配置參數,設置中文分詞。

以下是中文分詞的核心配置,請仔細閱讀,應用到自己的配置之中:

source 數據源名稱a
{
#......
#該部分的配置,直接采用sphinx的配置,無需更改即可直接使用
#......
}
index 索引名稱a
{
#以下部分的配置,直接采用sphinx的配置,無需更改即可直接使用
#......
	source			= 數據源名稱a    #對應到source
	path			= var/data/數據源名稱a
	docinfo			= extern
	mlock			= 0
	morphology		= none
	min_word_len		= 1
	html_strip		= 0
#......
#以上部分的配置,直接采用sphinx的配置,無需更改即可直接使用
#以下部分為中文分詞核心配置
	#stopwords		= /path/to/stowords.txt的位置
	charset_dictpath		= /usr/local/mmseg3/etc/
	charset_type		= zh_cn.utf-8
	#charset_table                    = .................... #需將原有
的該配置注釋掉
	ngram_len                    = 0
#以上部分為中文分詞核心配置
}
mmseg.ini配置:
mmseg配置文件之中,可以配置英文和數字的切分細則(例如設置china2008作為整體還是切分為china、2008),詳情請查看mmseg.ini配置


中文分詞核心配置說明:


charset_dictpath=/usr/local/mmseg3/etc/

表示詞典文件的目錄,該目錄下必須有uni.lib詞典文件存在;

uni.lib詞典文件的制作,請參考:mmseg詞典的構造;特別注意,更換或者修改詞典後,需要重新索引數據並重啟searchd才能生效。

因為BSD/linux默認安裝在/usr/local/mmseg3/etc下面,則使用/usr/local/mmseg3/etc/即可;

如果是在Windows系統下,則為詞典所在的實際路徑,結尾必須使用/,例如:F:\coreseek-3.2.13-win32\etc/

測試時,如果出現Unigram dictionary load Error或者Segmentation fault,一般為詞典路徑設置不正確。


charset_type=zh_cn.utf-8

表示啟用中文分詞功能;否則中文分詞功能無效,使用sphinx的其他處理模式。

啟用中文分詞功能後,需要source數據源之中,讀取的數據編碼字符集為UTF-8,否則無法正確處理;

如果是xml,則正確輸出為UTF-8編碼格式即可;

如果是MySQL,則設置讀取數據輸出字符集為UTF-8即可:

MySQL4.1起可以通過SET NAMES UTF8設定輸出字符集為UTF-8,即使原始數據為GBK也可;

MySQL4.1以下版本,請直接聯系我們解決GBK或者Latin1輸出為UTF-8問題;


#stopwords=......


表示停止詞文件,該文件中的詞匯不參與搜索;文件格式為普通UTF-8文本文件,每行一個;



#charset_table=......
ngram_len=0

表示取消原有的一元字符切分模式,不對中文分詞產生干擾;

charset_table的配置需要注釋掉!

ngram_len的配置需要設置為0!

Copyright © Linux教程網 All Rights Reserved