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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
php与php MySQL 之间的关系
Jul 17 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php操作memcache缓存方法分享
Jun 03 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
php事件驱动化设计详解
Nov 10 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循环跳出的问题
2013/07/01 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php实现的http请求封装示例
2016/11/08 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
用javascript获取textarea中的光标位置
2008/05/06 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python中for循环和while循环的基本使用方法
2015/08/21 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
Python笔记之工厂模式
2019/11/20 Python
python支持多线程的爬虫实例
2019/12/21 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
教师学习培训邀请函
2014/02/04 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
环卫工人节活动总结
2014/08/29 职场文书
小学安全工作总结2015
2015/05/18 职场文书
Django drf请求模块源码解析
2021/06/08 Python
mysql 获取时间方式
2022/03/20 MySQL