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 is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
PHP isset()与empty()的使用区别详解
Aug 29 PHP
PHP面向对象法则
Feb 23 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
浅谈php7的重大新特性
Oct 23 PHP
Yii框架上传图片用法总结
Mar 28 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
PHP实现批量删除(封装)
Apr 28 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 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函数
2006/10/09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
纯js实现html转pdf的简单实例(推荐)
2017/02/16 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Python基础教程之异常详解
2019/01/10 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Python logging设置和logger解析
2019/08/28 Python
django连接oracle时setting 配置方法
2019/08/29 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
企划专员岗位职责
2013/12/09 职场文书
小学校园活动策划
2014/01/30 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
营销总监岗位职责
2014/09/16 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
2014年党风廉政建设工作总结
2014/11/19 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
golang slice元素去重操作
2021/04/30 Golang
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python
oracle delete误删除表数据后如何恢复
2022/06/28 Oracle