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