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