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
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
PHP操作Redis常用命令的实例详解
Dec 23 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
PHP children()函数讲解
2019/02/03 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
jQuery实现飞机大战小游戏
2020/07/05 jQuery
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
python字典操作实例详解
2017/11/16 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
产品质量承诺范本
2014/03/31 职场文书
城管综合整治方案
2014/05/01 职场文书
高中生逃课检讨书
2014/10/10 职场文书
旗帜观后感
2015/06/08 职场文书
周一给客户的问候语
2015/11/10 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers