一.sphinx
1. 介绍
sphinx本身是一个中文检索索引技术
mysql索引: 主键、唯一、普通、全文(match/agaisnt)
sphinx是俄罗斯人开发一款速度、效率非常高的索引技术
sphinx是来替代mysql全文索引的
mysql本身的全文索引技术特性表现一般,一般数据库使用全文索引都不是使用本身的,都需要借助第3方索引技术支持,php->mysql->sphinx , java->oracle->lucene
搜索引擎(百度/google等)要大量使用“检索技术”
sphinx使用的好处:
① 快速检索用户需要的模糊信息(替代like使用)
② 本身还有中文“分词”的实现,英文分词通过”空格”区分,中文分词通过技术实现(例如”匹配”,使用习惯)
2.使用sphinx
sphinx是专业做数据检索的一个技术
用户去sphinx做模糊查询,查找“北京西二旗”相关的信息
sphinx把“北京西二旗”全部信息的“主键id”值给用户返回
之后,用户通过“许多-主键id”值去数据库获得相关的记录信息,并返回
下载sphinx功能包
具体是下载coreseek:中文+sphinx http://www.likelys.com/files/attachment/20150918/coreseek-4.1-win32.zip
也可以直接下载sphinx
解压压缩文件到软件的运行目录即可,路径不能有中文
为数据库数据创建索引文件
做索引配置
sphinx.conf
资源定义
index定义
全局index定义
创建索引的执行程序文件
软件目录/bin/indexer.exe
第一步:使用管理员权限的cmd
命令:indexer.exe -c 配置文件路径 source名称
第二步:查看索引文件
使用sphinx
第一步:安装sphinx服务
使用管理员cmd执行以下命令
searchd.exe --install -c 配置文件路径 参数顺序一定要不能颠倒。
第二步:查看并启动sphinx查询服务
如果安装服务之后,不能够正常启动服务,可能就是安装的时候,参数顺序不对。卸载重装
searchd.exe --delete删除服务
php连接sphinx,进行内容模糊检索查询:
可以引入这个文件,或者直接在php开启spinx拓展
通过sphinx查询到数据的主键id,之后就可以使用主键id直接去数据库查询具体数据了,因为主键id查询快速,所以不会影响到用户的使用体验。