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的中问验证码
Nov 25 PHP
js下函数般调用正则的方法附代码
Jun 22 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
浅析PHP绘图技术
Jul 03 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
如何用PHP做到页面注册审核
Mar 02 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 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
Terran兵种对照表
2020/03/14 星际争霸
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
Python处理JSON数据并生成条形图
2016/08/05 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
专业技术职务聘任书
2014/03/29 职场文书
创业培训计划书
2014/05/03 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
2014最新实习证明模板
2014/10/02 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
读后感作文评语
2014/12/25 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
公司员工培训管理制度
2015/08/04 职场文书