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 相关文章推荐
Php部分常见问题总结
Oct 09 PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
php array_walk() 数组函数
Jul 12 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
详解php设置session(过期、失效、有效期)
Nov 12 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 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 - Html Transfer Code
2006/10/09 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
PHP daddslashes 使用方法介绍
2012/10/26 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python实现周期性抓取网页内容的方法
2015/11/04 Python
详解Python中的文件操作
2016/08/28 Python
Python连接phoenix的方法示例
2017/09/29 Python
python使用thrift教程的方法示例
2019/03/21 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python类共享变量操作
2020/09/03 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
python 调整图片亮度的示例
2020/12/03 Python
物业管理计划书
2014/01/10 职场文书
迟到检讨书大全
2014/01/25 职场文书
支部书记四风对照材料
2014/08/28 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
建房合同协议书
2016/03/21 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS