Sphinx是一个软件,这个软件可以实现分词功能,实现内容的全文索引。
Sphinx是一个非常棒的软件,但是不支持中文。它开放了自己的接口(API),只要调用这些API就可以实现中文分词。

2、为什么要使用Sphinx
中文内容的搜索是项目中不可或缺的,因此必需要使用到该软件。
搜索速度是非常的快,完全满足日常使用。

国内竞品:迅搜 http://www.xunsearch.com/


让我们的中文飞起来……

二个产品,实现原理都是一样的。
sphinx在国内使用比较多,迅搜在国内使用比较多。一半一半的。

都是一个单独的软件,配置起来非常的简单。
3、Sphinx的特性
高速的建立索引(可达10M/秒)
高性能的搜索(平均检索时间小于0.1秒)
可处理海量数据
提供了优秀的相关度算法
支持分布式搜索
提供摘要生成功能
可作为MySQL存储引擎提供搜索服务
支持布尔、短语、词语相似度等多种检索模式
单个文档支持多个全文检索字段(最大不超过32个)
支持额外的属性信息
支持单一字节编码和UTF-8编码
原生支持MySQL、PostgreSQL数据库

4、Sphinx的优势
Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速
度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的
索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,
而只包含最新10万条记录的增量索引,重建一次只需几十秒。

5、支持的操作系统
FreeBSD6/7/8,Mac OS X 10.6,RHEL5、CentOS-5、Fedora-12/13、gentoo-10、openSUSE-10/11、slackware-13.0/13.1、debian-5、ubuntu-9/10、archlinux-2010,WindowsXP、Windows2003、Windows7、Windows Server 2008等,32与64位操作系统均可使用,可支持MySQL、MariaDB、PostgreSQL、SQL Server、Oracle等多种数据库系统

6、Coreseek中文分词
coreseek:这个是包含中文的sphinx软件,国内都是使用这个。

http://www.coreseek.cn/

7、Coreseek/Sphinx运行原理
说明:sphinx是可以和mysql一起运行的,以扩展的方式,但是很少有人这样。都是以独立的程序来进行运行的,这样有问题也容易解决!

独立程序运行:

1、mysql装载数据
2、sphinx配置文件
3、请求Mysql生成索引文件,并且把索引文件保存起来
4、Php连接sphinx查询内容,接收到id数据
5、PHP拿着id,去mysql进行搜索
6、返回数据,PHP处理

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注