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的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可处理100 M 文档); 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; 支持分布式搜索; 提供文档片段(摘要以及高亮)生成功能;
Sphinx 是一个在GPLv2下分发的全文检索引擎;Coreseek 是一个可供企业使用的、基于Sphinx(可独立于Sphinx原始版本运行)的中文全文检索引擎,按照GPLv2协议发行,商业使用(例如, 嵌入到其他程序中)需要联系我们以获得商业授权。 一般而言,Sphinx是一个独立的全文搜索引擎;而Coreseek是一个支持中文的全文搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度
Sphinx原始版本可以从Sphinx官方网站http://www.sphinxsearch.com/,Coreseek可以从Coreseek官方网站http://www.coreseek.cn/下载. 目前,Sphinx/Coreseek的发布包包括如下软件: indexer: 用于创建全文索引; search: 一个简单的命令行(CLI) 的测试程序,用于测试全文索引; searchd: 一个
Sphinx 强大的开源全文检索引擎,Coreseek 免费开源的中文全文检索引擎,Sphinx 0.9.9/Coreseek 3.2 参考手册。
在Windows上安装通常比在Linux环境下容易一些。要不是为了给代码制作patch,一般安装预先编译好的二进制文件即可,它们可以在网站的下载区找到. 将你下载的.zip文件解压,比如coreseek-3.2.14-win32.zip(或者coreseek-3.2.13-win32-pgsql.zip如果你需要PostgresSQL支持.) Windows XP及其后续版本都可以直接解压.zip
以下所有的例子都假设你将Sphinx/Coreseek安装在目录/usr/local/coreseek, 并且searchd对应的路径为/usr/local/coreseek/bin/searchd. 为了使用Sphinx/Coreseek,你需要: 创建配置文件. 缺省的配置文件名为csft.conf. 全部的Sphinx/Coreseek提供的程序默认都在当前工作的目录下寻找该文件. 由con