让 sphinx 支持中文、日文和韩文
在國內搜索 sphinx 的話找到的資源好像都是挺久遠的,無奈之下只好跑到國外去找了。聽起來有點不可思議,但是最近整 sphinx 的時候突然想到 mediawiki 官方有 sphinx 的安裝介紹,然后就去參考了,驚奇的發現里面有提到 ?sphinx 支持 CJK 的方法。
CJK 在這邊是 Chinese, Japanese, Korean 首字母的縮寫。所以如果想要在國外搜索 sphinx 支持中文、日文和韓文的話,建議使用 sphinx 和 CJK 作為關鍵詞。
下面的內容其實總結自?Using Sphinx search engine with Chinese, Japanese, and Korean language documents?,建議英語好的或者有興趣的人也閱讀下原文。
讓 sphinx 支持 CJK 的 4 個要素分別是:
1、要建立索引的資料最好是 Unicode(UTF-8) 編碼,然后把 sphinx 的 charset_type 設置為 utf-8。
2、設置 CJK 專用的 charset_table ,這部分應該是最重要的。具體操作是訪問 sphinx 官方提供的charset_tables?實例。在里面你可以找到 CJK 對應的列表,然后將 sphinx.conf 中 charset_table 的值設置為你復制的內容。需要注意的:內容很多,不能全寫在一行里,要分多行記錄;記得自行把“→”改為“->”……
3、ngram_chars,依舊是上面那個鏈接,在最底部有 CJK Ngram Characters ,把內容復制并設定為參數 ngram_chars 的值,注意事項同上。
4、需要把 ngram_len 設置為 1 。
另外,如果你符合了上面的條件還沒有成功的話,可以試下:mediawiki 指南中有提到非英語的話記得注釋掉 morphology。
ivinco.com 在上面的鏈接給出了支持CJK的配置范例。
轉載于:https://www.cnblogs.com/zl0372/p/sphinx_11.html
總結
以上是生活随笔為你收集整理的让 sphinx 支持中文、日文和韩文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTACCESS 伪静态书写规则
- 下一篇: vs2013编译boost1.55.0