为了账号安全,请及时绑定邮箱和手机立即绑定

php全文搜索得方案跟策略

标签:
PHP MySQL

一 使用mysql全文索引

1 将php中文分词系统将我们需要搜索得数据库字段进行分割成关键字
2 然后将分割得关键字绑定商品ID或者文章ID 插入另外一个关键字表,然后再配置上搜索权重,然后支持人工编辑关键字逐渐完善关键字
3 在关键字表中建立全文索引full_test,5.6之前不支持中文(可以用php将中文变成拼音存储),5.7之后支持中文全文索引。
4 mysql全文索引匹配用户搜索得关键字。
5 还可以用一张表记录用户得搜索字去统计搜索频率,提高关键字得命中率
注意:分词软件有 scws,结巴分词,PhpanAlysis等等
二使用sphinx搜索
1 wget http://sphinxsearch.com/files/sphinx-3.0.1-7fec4f6-linux-amd64.tar.gz
tar -zvxf sphinx-3.0.1-7fec4f6-linux-amd64.tar.gz && mv /sphinx-3.0.1-7fec4f6-linux-amd64.tar.gz /sphinx

2 cp sphinx.conf.dist sphinx.conf 然后修改sphinx.conf
3 生成索引 /usr/local/sphinx/bin/indexer --all
如果searchd处于运行状态,则执行 /usr/local/sphinx/bin/indexer --all --rotate
4 开启守护进程 /usr/local/sphinx/searched -c /usr/local/sphinx/etc/sphinx.conf
5 关闭守护进程 /usr/local/sphinx/searched -c /usr/local/sphinx/etc/sphinx.conf --close

注意:sphinx不支持中文分词,所以建议用coorseek或者迅搜等国内得开源软件

点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
42
获赞与收藏
356

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消