A. php分割搜索词匹配Mysql
你表达的意思是先分词,然后根据分词再去数据库搜素分词结果的数据。
首先,分词的话你可以找专门的分词工具,coreseek,es等一些搜索引擎都带有分词功能,你可以找专门分词的工具。
其次,你的mysql数据库是不支持你这样搜索的,像淘宝,京东的这样的搜素都是用的一些大型的搜索引擎,向这样的分词搜索是肯定不会像你那样从数据库直接搜索的。
最后你如果非要这样用sql语句去搜,只能先用工具进行分词,分词结束后再拼接多条like的sql语句去union一下再搜索,效率很低很低,自己玩玩倒可以。
纯手打,,,望采纳!
B. 北大青鸟java培训:php自动提取文章关键字
现在很多web系统都用到了不少的自然语言处理技术来提高客户体验。
主要技术:1.文章关键字提取.2.相关文章(产品)推荐.最近有不少网友问道,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提.基本分以下几个步骤:一.对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数。
然后按照词频降序排序下,你想要的结果在前面几个词中。
前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
现在,很多web系统都用到了不少的自然语言处理技术来提高客户体验.主要技术:1.文章关键字提取.2.相关文章(产品)推荐.最近有不少网友问到,这里以php为例子讲解下php的"关键字提取"的实现,同时这个也是实现"相关文章推荐"的前提。
基本分以下几个步骤:一.对文章进行分词:php的中文分词程序还是有不少的,从前辈的scws,到用纯php实现的phpAnalysis,phpcws(phpcws)以及本人开发的robbe扩展。
这里的讲解是使用"robbe分词扩展"来进行分词,robbe兴许不是最好的,但一定是最快的。
选择的分词器需要支持停止词过滤。
二.统计词条词频并且排序:对一篇文章分词后,统计每个词条出现的次数,然后按照词频降序排序下,你想要的结果在前面几个词中。
山东IT培训http://www.kmbdqn.cn/建议前提是去除了出现词频很高的停止词,要不然得到的都是一些无用的停止词。
C. 如何将PHP分词语句变成搜索数据库来分词
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言
D. 求一个PHP的分词程序,比如我有一句话:我是个好学生,分词后: 我 是 一个 好 学生 谢谢
这个程序几乎是没有人能提供给你。为什么?
因为网络的翻译 其中就涉及到 语句分词,这是一个很高深的技术。而且还需要分词的词典,规则大概是包括所有汉字,分词规则,语句等等。
能做好这个技术,几千万都能卖出去。
E. sphinx和solr哪个更适合php站点
## ES 缺点
基于java,会有一些java的常见问题需要注意,比如gc
单纯执行速度上比C写的sphinx慢
## sphinx 优点
纯粹,没有什么花哨的其他功能
C写的,速度快
新版本加了分布式索引、动态更新索引等功能
## 下面列举Es比sphinx优秀的部分
1、部署简单,虽然sphinx部署也挺简单,但是在书写配置的时候,你会发现,sphinx的配置是要写好后,重启sphinx,而Elasticsearch针对某个索引的配置,是可以动态写入的。
2、调试简单,sphinx有命令行工具可以调试,而Elasticsearch使用的是http接口进行调试,不需要专门的API类,几行php代码就可以写一个Elasticsearch的API。
3、可视化工具比较多,有收费的,也有免费的,比如kibana head marvel。
4、提供结构化的JSON查询语句,易读性强
5、Es可以保留源数据(可选),也就是说,你可以不需要mysql的支持,就可以完成整个搜索过程,即使你不需要这个功能,在调试的时候,还是让人感到非常便利,不用将查询结果到数据库匹配一下。
6、Es可以动态更新全文索引,动态更新单个记录,而不像sphinx一样需要重建全部
7、对UTF8的支持是不需要单独配置的,天生为各种自然语言设计,而不仅仅是欧系语言
## 从中文分词上来说
首先我觉得分词最重要的基本都是词库,分词算法两个工具基本都可以使用。
lucene 支持很多分词工具,比如
word https://github.com/ysc/word
比如ik https://github.com/medcl/elasticsearch-analysis-ik
这两个工具最近都很活跃,因为Es更新2.0 和 2.1
比较分词区别(sphinx可能有误):
sphinx分词 我不太熟悉它的机制,多数情况下我使用scws分词,发送给sphinx,然后设置匹配规则,比如最大匹配
Es的全文索引是基于分词的,也就是事先分好词,每个词对应某些记录,自动进行TF/IDF的运算,得到一个评分后返回,当然这个评分可以改(sphinx同样支持修改评分)
另一方面ES也支持类似sphinx的匹配方式,模糊匹配,一般会一起使用,一个词不在分词库中的时候,或者用户写错了,就用fuzzy,所以Es在功能上,应该和sphinx不会有太多差别,而且要更多。
## 后期维护上:
sphinx的配置文件在mysql分表之后,维护起来是比较麻烦的,你可以用php脚本当做配置文件,这样会好很多。
Es的索引是可以主动发给它去建立的(通过http接口),分表之后,它不关心数据库状态和结构。新增字段可以热更新。
## 扩展性上:
Es和sphinx都支持分布式索引,扩展性都没有问题
两者都支持别名,Es的别名加上动态建立索引,使得更换索引结构或者重建索引后,支持0宕机时间。而sphinx的rotate选项可以动态更新索引(不知道能不能动态创建索引,因为sphinx我在使用的时候,索引都要求写在配置文件里。
性能方面没有测试数据。从直观感受上sphinx要快一些。
## 文档方面
感觉两个工具都差不多,中文资料一般般,英文资料很全。
F. php 一般使用什么中文分词扩展
Robbe是建立在Friso中文分词器上的一个高性能php中文分词扩展,除了提供了基本的分词函数以外,还提供一些编码转换函。
Robbe完整版本(PHP测试程序, 开发帮助文档, WinNT下php各版本的dll文件)下载:code.google.com/p/robbe
一. 关于Robbe:
robbe是建立在friso中文分词上的一个高性能php中文分词扩展。了解friso
1.目前最高版本:friso 1.6.0,【源码无需修改即可在各平台下编译运行】
2.mmseg四种过滤算法,分词准确率达到了98.41%。
3.详细功能,请访问friso官方首页:friso [code.google.com/p/friso]
二. Robbe分词速度:
测试环境:2.8GHZ/2G/Ubuntu
简单模式:3.1M/秒
复杂模式:1.4M/秒
(因为php中的大量字符串的复制,性能比friso有些下降)。
G. 请教下,PHP文章标题的自动分词(Tag)是怎么做的
文章分词需要程序来完成给你推荐个工具,你看看是不是你需要的分词,这个是灵玖软件推出的你可以找一下。
H. php 提取中文后简单分词
$str="汉字一二3四5六七八,九十六七...";
$s1=array();//初始化储存第二步结果的数组
//preg_match_all("/[x80-xff]+/",$str,$match);//此为GBK使用
preg_match_all("/[x{4e00}-x{9fa5}]{2,}+/u",$str,$match);//此为UTF-8使用
foreach($match[0]as$str1)//循环遍历匹配到的汉字
{
$leng=iconv_strlen($str1,"UTF-8");//计算汉字其长度
for($i=0;$i<$leng-1;$i++)
{
$temp=mb_substr($str1,$i,2,"UTF-8");//将汉字切割长两个字,得第一步结果
if(!in_array($temp,$s1))//去除重复,得第二步结果
$s1[]=$temp;//得到的汉字存入数组
}
}
//print_r($s1);//第一二步完成,得数组$s1,可打印查看结果
$s2=file_get_contents("21.txt");//将文件内所有字符读取成一个字符串
$s2=iconv("","UTF-8",$s2);//将字符串转码,否则难免有乱码
//echo$s2;//可输出查看文件中的内容
$s="";//初始化最终结果的变量
foreach($s1as$j)//遍历汉字对
{
if(preg_match("/".$j."/",$s2))//判断该汉字对是否被包含于文件的文字中
$s.=(""==$s)?$j:"\".$j;//将结果合在$s中
}
echo$s;//得结果,可输出查看或调用
若有疑问,可追问。
注释详细,希望能加分
I. php分词匹配
sphinx 只是提供中文的全文索引支持.
还需要一个分词扩展提供分词功能. 可以试试 phpcws
J. php 分词,搜索引擎,技术
你好,很高兴为你解答:
如果你仅仅是要把长句中的单词分出来,那是很简单的:
<?php
$str="GoogleTranslateforBusiness!";
$str=preg_replace("{.|,|;|:|'|"|?|!|<|>|(|)}","",$str);//移除所有标点符号
$arr=array_unique(explode("",$str));//以空格分割,并去重
var_mp($arr);
?>
以下是一段测试文本:
(asseeninCorPerl),"something"(inthiscase,output"Hi,I'maPHPscript!").<?phpand?>"PHPmode."
-,.,.,andthenthere'.
,.Don''sfeatures.Youcanjumpin,inashorttime,.
AlthoughPHP'sdevelopmentisfocusedonserver-sidescripting,youcandomuchmorewithit.Readon,andseemoreintheWhatcanPHPdo?section,.
输出结果:
Instead,of,lots,commands,to,output,HTML,as,seen,in,C,or,Perl,PHP,pages,contain,with,embedded,code,that,does,something,this,case,Hi,Im,a,script,The,is,enclosed,special,start,and,end,processing,instructions,php,,allow,you,jump,into,out,modeWhat,distinguishes,from,like,client-side,JavaScript,the,executed,on,server,generating,which,then,sent,client,would,receive,results,running,but,not,know,what,underlying,was,You,can,even,configure,your,web,process,all,files,theres,really,no,way,users,tell,have,up,sleeveThe,best,things,using,are,it,extremely,simple,for,newcomer,offers,many,advanced,features,professional,programmer,Dont,be,afraid,reading,long,list,PHPs,short,time,writing,scripts,few,hoursAlthough,development,focused,server-side,scripting,do,much,more,Read,see,What,section,go,right,introctory,tutorial,if,only,interested,programming
使用sort()对其进行排序:
C,Dont,HTML,Hi,Im,Instead,JavaScript,PHP,PHPs,Perl,Read,The,What,You,a,advanced,afraid,all,allow,and,are,as,be,best,but,can,case,client,client-side,code,commands,configure,contain,development,distinguishes,do,does,embedded,enclosed,end,even,executed,extremely,features,few,files,focused,for,from,generating,go,have,hoursAlthough,if,in,instructions,interested,into,introctory,is,it,jump,know,like,list,long,lots,many,modeWhat,more,much,newcomer,no,not,of,offers,on,only,or,out,output,pages,php,process,processing,professional,programmer,programming,reading,really,receive,results,right,running,script,scripting,scripts,section,see,seen,sent,server,server-side,short,simple,sleeveThe,something,special,start,tell,that,the,then,theres,things,this,time,to,tutorial,underlying,up,users,using,was,way,web,what,which,with,would,writing,you,your
-----------------------------------
如有疑问欢迎追问!
满意请点击右上方【选为满意回答】按钮么么哒 o(∩_∩)o