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 MemCached 高级缓存应用代码
Aug 05 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
php数组编码转换示例详解
Mar 11 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
php实现图片等比例缩放代码
Jul 23 PHP
PHP会话处理的10个函数
Aug 11 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
php构造函数与析构函数
Apr 23 PHP
ThinkPHP实现简单登陆功能
Apr 28 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 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源码之 ext/mysql扩展部分
2009/07/17 PHP
PHP 第一节 php简介
2012/04/28 PHP
php判断linux下程序问题实例
2015/07/09 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
js的回调函数详解
2015/01/05 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
python drf各类组件的用法和作用
2021/01/12 Python
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
应届生自荐信范文
2014/02/21 职场文书
班级文化建设标语
2014/06/23 职场文书
商铺消防安全责任书
2014/07/29 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
高中班长竞选稿
2015/11/20 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
四十九个javascript小知识实用技巧
2021/11/20 Javascript