Sphinx是一個基於SQL的全文檢索引擎;普遍使用於很多網站
Sphinx的特性如下:
a) 高速的建立索引(在當代CPU上,峰值性能可達到10 MB/秒);
b) 高性能的搜索(在2 – 4GB 的文本數據上,平均每次檢索響應時間小於0.1秒);
c) 可處理海量數據(目前已知可以處理超過100 GB的文本數據, 在單一CPU的系統上可處理100 M 文檔);
Sphinx本身對中文的支持並不好。
主要體現在對一段話斷詞;英文只需按照空格對其分詞即可;但對於博大精深的中文來說,卻是件困難的事情。
分詞在兩個地方會用到;
1、索引時,根據分詞索引原始數據
2、搜索時,對用戶輸入分詞,到索引中查詢
目前最常用的三種方案Coreseek、Sphinx-for-chinaese、Sphinx+Scws
1、Coreseek 為國人基於Sphinx開發的方案,目前最穩定版,是基於經典的Sphinx0.9.9版
優點:有成熟的文檔、以及社區;其分詞mmseg為目前國內最為好用分詞,索引和搜索分詞都可以用到;
缺點:深度開發、版本更新較慢;索引較慢
策略:一個詞庫管理後台,維護詞庫;定期生成字典;此套件會自動分詞索引;
適用場景:普通青年、搭建差不多的搜索,適用於普遍網站
2、Sphinx-for-chinaese 為國人2基於經典的Sphinx0.9.9版開發的擴展版
優點:部署簡單,易操作,內嵌分詞和詞庫,索引和搜索分詞都可以用到;
缺點:版本更新較慢;分詞較弱;索引相對較慢
策略:同一
適用場景:普通青年、快速搭建搜索的小站
3、Sphinx+Scws 為兩套獨立系統,單獨部署,所謂高內聚低耦合,強烈推薦
優點:兩套系統,相對獨立,各自單獨Server;分詞可以做其他用途;版本更新較快;
缺點:部署稍復雜,使用稍復雜;索引分詞只能用一元分詞,數據量較大
策略:詞庫管理外;使用時,先調用分詞服務,後調用搜索
適用場景:文藝青年、搭建像樣點的搜索;好吧文藝青年
以上這篇淺談Coreseek、Sphinx-for-chinaese、Sphinx+Scws的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持幫客之家。