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+MySQL5.0中文乱码解决方法
Nov 20 PHP
php IP及IP段进行访问限制的代码
Dec 17 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
解析php中反射的应用
Jun 18 PHP
根据ip调用新浪api获取城市名并转成拼音
Mar 07 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
PHP使用递归算法无限遍历数组示例
Jan 13 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 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生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php里array_work用法实例分析
2015/07/13 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
js+css在交互上的应用
2010/07/18 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
Python3中多线程编程的队列运作示例
2015/04/16 Python
Python同步遍历多个列表的示例
2019/02/19 Python
python3实现字符串操作的实例代码
2019/04/16 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
Django封装交互接口代码
2020/07/12 Python
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
大学新生军训个人的自我评价
2013/10/03 职场文书
党性教育心得体会
2014/09/03 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
《搭石》教学反思
2016/02/18 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
python画条形图的具体代码
2022/04/20 Python