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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
Sep 30 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
PHPEXCEL 使用小记
Jan 06 PHP
解析PHP无限级分类方法及代码
Jun 21 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
php获取远程文件内容的函数
Nov 02 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 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/11/28 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
laravel5.6实现数值转换
2019/10/23 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python选课系统开发程序
2016/09/02 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python 多线程Threading初学教程
2017/08/22 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
python如何生成网页验证码
2018/07/28 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
2017/09/12 HTML / CSS
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
介绍一下gcc特性
2012/01/20 面试题
中科软测试工程师面试题
2012/06/16 面试题
2014工程部年度工作总结
2014/12/17 职场文书
鼋头渚导游词
2015/02/05 职场文书
个人借条范本
2015/05/25 职场文书
2015党建工作简报
2015/07/21 职场文书
详解NodeJS模块化
2021/06/15 NodeJs
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
vue实现在data里引入相对路径
2022/06/05 Vue.js