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 相关文章推荐
图书管理程序(一)
Oct 09 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
Apr 09 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php实现水仙花数示例分享
Apr 03 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP7内核之Reference详解
Mar 14 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 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 SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
使用iojs的jsdom库实现同步系统时间
2015/04/20 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
pip安装python库的方法总结
2019/08/02 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
Python计算信息熵实例
2020/06/18 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
了解AppleTalk协议吗
2014/04/01 面试题
大四毕业生学习总结的自我评价
2013/10/31 职场文书
法务专员岗位职责
2014/01/02 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
校园标语大全
2014/06/19 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
学生通报表扬范文
2015/05/04 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL