php利用scws实现mysql全文搜索功能的方法

 更新时间:2014年12月25日 14:35:29   投稿:shichen2014  
这篇文章主要介绍了php利用scws实现mysql全文搜索功能的方法,可通过scws分词插件的扩展来实现MySQL全文搜索功能,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 10个对初学者非常有用的PHP技巧

    10个对初学者非常有用的PHP技巧

    这篇文章主要为大家详细介绍了10个对初学者非常有用的PHP技巧,这些PHP技巧适用于初学者,而不是那些已经在使用MVC框架的人,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • php简单统计中文个数的方法

    php简单统计中文个数的方法

    这篇文章主要介绍了php简单统计中文个数的方法,涉及strlen、mb_strlen及mb_strwidth等函数的使用方法与相关注意事项,需要的朋友可以参考下
    2016-09-09
  • PHP中JSON的应用技巧

    PHP中JSON的应用技巧

    这篇文章主要介绍了关于JSON以及JSON在PHP中的应用技巧,需要的朋友可以过来参考下,希望对大家有所帮助。
    2015-10-10
  • 分析PHP中单双引号的误区和双引号小隐患

    分析PHP中单双引号的误区和双引号小隐患

    PHP中单双引号常常会给人带来很多的误区,其中双引号还有些小隐患,下面是小编给大家整理的,需要的可以参考。
    2016-07-07
  • php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析

    php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析

    这篇文章主要介绍了php 下 html5 XHR2 + FormData + File API 上传文件操作,结合实例形式分析了php 下使用html5 XHR2 + FormData + File API 实现上传文件操作方法与相关操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 静态html文件执行php语句的方法(推荐)

    静态html文件执行php语句的方法(推荐)

    下面小编就为大家带来一篇静态html文件执行php语句的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • flash+php+mysql打造简单留言本教程

    flash+php+mysql打造简单留言本教程

    刚开始做这个留言本的时候,连mysql和php都没接触过。经过痛苦的查找资料和学习,郁闷了一个星期后完成了我的简单留言本
    2008-07-07
  • php封装的表单验证类完整实例

    php封装的表单验证类完整实例

    这篇文章主要介绍了php封装的表单验证类,结合完整实例形式分析了php针对表单元素正则验证与类型判定的相关操作技巧,对于php程序设计的安全性有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • PHP发送短信代码分享

    PHP发送短信代码分享

    最近要用php发送和接收短信,用户订单要用短信通知一类的功能,网上看了好多短信平台感觉都不靠谱。也测试了很多代码,下面把几款好用的分享给大家
    2015-08-08
  • MySQL的FIND_IN_SET函数使用方法分享

    MySQL的FIND_IN_SET函数使用方法分享

    有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 …..11,12,13等等
    2012-03-03

最新评论