php利用scws实现mysql全文搜索功能的方法


Posted in PHP onDecember 25, 2014

本文实例讲述了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%,

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
傻瓜化配置PHP环境――Appserv
Dec 13 PHP
一道关于php变量引用的面试题
Aug 08 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
yii框架搜索分页modle写法
Dec 19 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
Jun 30 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
Aug 04 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
php中heredoc与nowdoc介绍
Dec 25 #PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 #PHP
推荐5款跨平台的PHP编辑器
Dec 25 #PHP
主流PHP框架的优缺点对比分析
Dec 25 #PHP
10个简化PHP开发的工具
Dec 25 #PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 #PHP
PHP中文编码小技巧
Dec 25 #PHP
You might like
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
javascript一点特殊用法
2008/05/28 Javascript
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
python实现的一个p2p文件传输实例
2014/06/04 Python
python中的reduce内建函数使用方法指南
2014/08/31 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
质检部岗位职责
2013/11/11 职场文书
实习生自荐信范文分享
2013/11/27 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
给客户的道歉信
2014/01/13 职场文书
接待员岗位责任制
2014/02/10 职场文书
二年级小学生评语
2014/04/21 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
爱的承诺书
2015/01/20 职场文书
摘录式读书笔记
2015/07/01 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL