php利用scws实现mysql全文搜索功能的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-04 18:08:35 浏览: 评论:0
这篇文章主要介绍了php利用scws实现mysql全文搜索功能的方法,可通过scws分词插件的扩展来实现MySQL全文搜索功能,是非常实用的技巧,需要的朋友可以参考下
本文实例讲述了php利用scws实现mysql全文搜索功能的方法。分享给大家供大家参考。具体方法如下:
scws这样的中文分词插件比较不错,简单的学习了一下,它包涵一些专有名称、人名、地名、数字年代等规则集合,可以直接将语句按这些规则分开成一个一个关键词,准确率在90%-95%之间,按照安装说明把scws的扩展放入php的扩展目录里,下载规则文件和词典文件,并在php配置文件中引用它们,就可以用scws进行分词了.
1) 修改 php 扩展代码以兼容支持 php 5.4.x
2) 修正 php 扩展中 scws_get_tops 的 limit 参数不允许少于 10 的问题
3) libscws 增加 scws_fork() 从既有的 scws 实例产生分支并共享词典/规则集,主要用于多线程开发.
4) 新增部分版本的 win32 的 dll 扩展
PHP实例代码如下:
- <?php
- //实例化分词插件核心类
- $so = scws_new();
- //设置分词时所用编码
- $so->set_charset('utf-8');
- //设置分词所用词典(此处使用utf8的词典)
- $so->set_dict('/path/dict.utf8.xdb');
- //设置分词所用规则
- $so->set_rule('/path/rules.utf8.ini ');
- //分词前去掉标点符号
- $so->set_ignore(true);
- //是否复式分割,如“中国人”返回“中国+人+中国人”三个词。
- $so->set_multi(true);
- //设定将文字自动以二字分词法聚合
- $so->set_duality(true);
- //要进行分词的语句
- $so->send_text(“欢迎来到火星时代IT开发”);
- //获取分词结果,如果提取高频词用get_tops方法
- while ($tmp = $so->get_result())
- {
- print_r($tmp);
- }
- $so->close();
- ?>
注:如以上例子,输入的文字,词典,规则文件这三者的字符集必须统一,另外mysql 4.XX有的是不支持中文全文搜索的,可以存入关键字对应的区位码以方便全文搜索.
版本列表
版本 类型 平台 性能 其它
SCWS-1.1.x C 代码 *Unix*/*PHP* 准确: 95%, 召回: 91%, 速度: 1.2MB/sec
PHP扩展分词速度: 250KB/sec [下载] [文档] [安装说明]
php_scws.dll(1) PHP扩展库 Windows/PHP 4.4.x 准确: 95%, 召回: 91%,
php_scws.dll(2) PHP扩展库 Windows/PHP 5.2.x 准确: 95%, 召回: 91%,
php_scws.dll(3) PHP扩展库 Windows/PHP 5.3.x 准确: 95%, 召回: 91%,
php_scws.dll(4) PHP扩展库 Windows/PHP 5.4.x 准确: 95%, 召回: 91%,
PSCWS23 PHP源代码 不限 (不支持UTF-8) 准确: 93%, 召回: 89%,
PSCWS4 PHP源代码 不限 准确: 95%, 召回: 91%,
Tags: scws mysql php全文搜索
相关文章
- ·用PHP连MySQL和Oracle数据库性能比较(2013-11-27)
- ·解决php mysql乱码问题(2013-11-28)
- ·Warning: mysql_fetch_array():(2013-11-28)
- ·MySQL+PHP产生乱码原因分析与解决方法(2013-11-28)
- ·php和mysql中uft-8中文编码乱码的几种解决办法(2013-11-30)
- ·Warning: mysql_fetch_assoc() expects parameter 1 to be resource(2013-12-02)
- ·php无法连接mysql问题(2013-12-03)
- ·PHP连接MySQL数据库中文乱码解决方法(2013-12-03)
- ·phpmyadmin提示无法载入mysqli扩展解决方法(2013-12-03)
- ·修改mysql密码phpmyadmin不能登录(2013-12-03)
- ·无法载入 mysql 扩展 请检查 PHP 配置(2013-12-04)
- ·php写入mysql中文乱码问题解决办法(2013-12-07)
- ·php不支持mysql问题解决方法(2013-12-08)
- ·php+mysql+js实现树形菜单代码(2013-12-11)
- ·mysql php无刷新三级联动菜单(2013-12-27)
- ·php 提示Warning: mysql_fetch_array() expects(2014-01-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)