PHP+Mysql+Sphinx高效的站内搜索引擎搭建详释.doc
文本预览下载声明
PHP+Mysql+Sphinx高效的站内搜索引擎为什么要使用Sphinx 假设你现在运营着一个论坛,论坛数据已经超过100W,很多用户都反映论坛搜索的速度非常慢,那么这时你就可以考虑使用Sphinx了(当然其他的全文检索程序或方法也行)。 Sphinx是什么 Sphinx由俄罗斯人Andrew Aksyonoff 开发的高性能全文搜索软件包,在GPL与商业协议双许可协议下发行。 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术。检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容。 Sphinx的特性 高速索引 (在新款CPU上,近10 MB/秒);高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);高可用性 (单CPU上最大可支持100 GB的文本,100M文档); 提供良好的相关性排名支持分布式搜索; 提供文档摘要生成; 提供从MySQL内部的插件式存储引擎上搜索 ? 支持布尔,短语, 和近义词查询; ? 支持每个文档多个全文检索域(默认最大32个); 支持每个文档多属性; ? 支持断词; 支持单字节编码与UTF-8编码; 下载并安装Sphinx 打开网址/news/7/52/ 找到适合自己的操作系统的版本,比如我是Windows那么我就可以下载Coreseek Win32通用版本,Linux下可以下载源码包,自己编译安装。这里解释下为什么我们下载的程序叫Coreseek,Coreseek是基于Sphinx开发的一款软件,对Sphinx做了一些改动,在中文方面支持得比Sphinx好,所以我们使用之。下载完成后,将程序解压到你想解压的地方,比如我就想解压到E盘根目录,之后修改目录名为Coreseek,大功告成Coreseek安装完成了,安装的目录是在E:\coreseek\。 使用Sphinx 我要使用Sphinx需要做以下几件事 首先得有数据 建立Sphinx配置文件生成索引启动Sphinx使用之(调用api或search.exe程序进行查询)第1步:(导入数据)我们建立测试所需要用到得数据库、表以及数据,篇幅有限,这些在附件中都有,下载后导入MySQL即可。 第2步:(建立配置文件) 接下来我们需要建立一个Sphinx的配置文件 E:\coreseek\etc\mysql.conf,将其内容改为下面这些:source mysql
{type??????? = mysql sql_host?? = localhost ?????? sql_user??????????????????????????????????? = root????????? ?????? sql_pass????????????????????????????????????????? =?????????? ?????? sql_db????????????????????????????????????? = test?????????? ?????? sql_port??????????????????????????????????? = 3306???????? ?????? sql_query_pre???????????????????????? = SET NAMES utf8 ?????? sql_query???????????????????????????????? = SELECT id,addtime,title,content FROM post ?????? sql_attr_timestamp???????????????? = addtime } index mysql { ?????? source????????????????????????????????????? = mysql ?????? path???????????????????????????????????????? = E:/coreseek/var/data/mysql ?????? charset_dictpath?????????????????? = E:/coreseek/etc/ ?????? charset_type?????????????????????????? = zh_cn.utf-8 } searchd { ?????? listen???????????????????????????????????????? = 9312 ?????? max_matches???????????????????????? = 1000 ?????? pid_file?????????????????????????????
显示全部