phpscws
⑴ php問題如下面所述
你在spider.php 調用了一個 未定義的對象方法:send_text()
⑵ 關於PHPCMS的關鍵字獲取求助
在論壇里得不到贊助,所以本身用了一個晚上熬到凌晨一點,終於弄出了一個臨時解決籌劃不敢獨享,所以共享之,高手請自行飄過....思路很簡單,就是獲取提交上來的信息,假如關鍵詞為空,就用我寫的函數來分析標題獲取關鍵詞,假如關鍵詞不為空就不處理直接跳過.此辦法應用的是SCWS擴大,假如你的辦事器支撐此擴大,並且你也有須要可以再將下面的代碼復制到manage.php的第三行,也就是require dirname(__FILE__).\'/include/common.inc.php\';的下一行即可,windows2003+iis6+php+scws測試經由過程.此代碼還有精簡的空間,我懶就不做了,誰做了跟帖貼一下.[ol]if (trim($info[keywords] == null)){$yh_sh = scws_open();scws_set_charset($yh_sh, \'gbk\');scws_send_text($yh_sh, $info[title]);$yh_array = scws_get_tops($yh_sh, 5);if (!$yh_array){}else{foreach($yh_array as $yh_r){$yh_words .= \' \'.$yh_r[\'word\'];}if ($yh_words != $info[title]){$info[keywords] = trim($yh_words);}}}[/ol]復制代碼
⑶ php中 $cws = scws_new() 的 scws_new()代表什麼
scws_new()
看上去應該是個函數,這個語句就是把函數的返回值付給變數
⑷ PHP中文分詞 自動獲取關鍵詞介紹
復制代碼
代碼如下:
<?php
header("Content-Type:text/html;
charset=utf-8");
define('APP_ROOT',
str_replace('\\',
'/',
dirname(__FILE__)));
$test
=
'這里是一段中文測試代碼!';
function
get_tags_arr($title)
{
require(APP_ROOT.'/pscws4.class.php');
$pscws
=
new
PSCWS4();
$pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb');
$pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words
=
$pscws->get_tops(5);
$tags
=
array();
foreach
($words
as
$val)
{
$tags[]
=
$val['word'];
}
$pscws->close();
return
$tags;
}
print_r(get_tags_arr($test));
//============================================================
function
get_keywords_str($content){
require(APP_ROOT.'/phpanalysis.class.php');
PhpAnalysis::$loadInit
=
false;
$pa
=
new
PhpAnalysis('utf-8',
'utf-8',
false);
$pa->LoadDict();
$pa->SetSource($content);
$pa->StartAnalysis(
false
);
$tags
=
$pa->GetFinallyResult();
return
$tags;
}
print(get_keywords_str($test));
相關下載地址
SCWS
–
簡易中文分詞系統
SCWS
在概念上並無創新成分,採用的是自行採集的詞頻詞典,並輔以一定程度上的專有名稱、人名、地名、數字年代等規則集,經小范圍測試大概准確率在
90%
~
95%
之間,已能基本滿足一些中小型搜索引擎、關鍵字提取等場合運用。
SCWS
採用純
C
代碼開發,以
Unix-Like
OS
為主要平台環境,提供共享函數庫,方便植入各種現有軟體系統。此外它支持
GBK,UTF-8,BIG5
等漢字編碼,切詞效率高。
系統平台:Windows/Unix
開發語言:C
使用方式:PHP擴展
演示網址:http://www.ftphp.com/scws/demo.php
開源官網:http://www.ftphp.com/scws/
晴楓附註:作為PHP擴展,容易與現有的基於PHP架構的Web系統繼續集成,是其一大優勢。
PhpanAlysis -
PHP無組件分詞系統
PhpanAlysis分詞系統是基於字元串匹配的分詞方法
,這種方法又叫做機械分詞方法,它是按照一定的策略將待分析的漢字串與一個「充分大的」機器詞典中的詞條進行配,若在詞典中找到某個字元串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配
和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配;按照是否與詞性標注過程相結合,又可以分為單純分詞方法和分詞與標注相結合的一體化方法。
系統平台:PHP環境
開發語言:PHP
使用方式:HTTP服務
演示網址:http://www.itgrass.com/phpanalysis/
開源官網:http://www.itgrass.com/phpanalysis/
晴楓附註:實現簡單,容易使用,能做一些簡單應用,但大數據量的計算效率不如前幾種。
試用了幾個系統,基本分詞功能都沒什麼問題,只是在個別一些詞的劃分上存在一些差異;對於詞性的確定,系統間有所不同。
http://www.jb51.net/codes/40139.html
⑸ 如何用PHP調用搜狗搜索,實現自動填充關鍵詞
php寫不了這樣的程序,可以直接用網頁自動填表提交監控工具(PageSubmit)這類軟體
⑹ 有用過swoole框架的同學進來說下嗎
以下是這個產品的簡介,希望對你有幫助
Swoole是一種PHP高級Web開發框架,框架不是為了提升網站的性能,是為了提升網站的開發效率。最少的性能損耗,換取最大的開發效率。利用Swoole框架,開發一個復雜的Web功能,可以在很短的時間內完成!
Swoole不是一個像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等一樣的框架,也不是一個向WordPress、Drupal、Discuz、UChome等開源產品看齊的項目。 Swoole的目標是向java框架、Rails On Ruby、Python DjangoPylons等一流框架發起挑戰。
運行環境:Linux Windows Mac FreeBSD Unix
PHP版本支持:PHP5.2 PHP5.3 PHP6.0
支持的資料庫:MS sql Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC
支持的運行方式:Web、Cli命令行腳本、PHP-GTK GUI。
功能
包含以下幾個特色功能:
1、 類似ORM的數據查詢,提供SQL封裝器,讓MySQL的SQL與PHP的Array,會話,Cache無縫結合
2、App MVC分層結構,有效的程序結構分層,提高程序的可維護性和擴展性,實現低耦合,基於介面開發。
3、集成大量,使用的功能,比如方便的資料庫操作,模板操作,緩存操作,系統配置,表單處理,分頁,數據調用,字典操作,上傳處理,內容編輯,調試等
4、模板-數據反射系統,可以直接在模板中調用數據,提供很多標簽,可是無需修改程序,只修改模板,即可實現網站各類更新維護工作。
另外的幾個功能
1、Swoole包含了大量類,提供眾多的功能擴展,基本上Web開發能夠用到的功能類,大部分都可以在Swoole框架中找到。
2、Swoole擁有插件系統,Fckeditor、Adodb、pscws中文分詞、中文全文索引系統、最新的Key-Value資料庫思想,TokyoTyrant,可以無限擴展框架的功能。
⑺ 求php5.5的php_scws.dll
去官網直接下載就好了
http://www.xunsearch.com/scws/download.php
版本沒有的話就去github拉源碼回來自己編譯
⑻ php sphinx 搜索 多表聯查速度怎麼樣
使用Elasticsearch和solr一樣,使用lucene
這個和php無關,因為無論哪個工具,都是通過網路介面查詢,所以我不回答有關是否適合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
比如ik
這兩個工具最近都很活躍,因為Es更新2.0 和 2.1
比較分詞區別(sphinx可能有誤):
sphinx分詞 我不太熟悉它的機制,多數情況下我使用scws分詞,發送給sphinx,然後設置匹配規則,比如最大匹配(我基本都是基於模糊匹配在用sphinx)
Es的全文索引是基於分詞的,也就是事先分好詞,每個詞對應某些記錄,自動進行TF/IDF的運算,得到一個評分後返回,當然這個評分可以改(sphinx同樣支持修改評分),這種檢索方式肯定更快,但是受到分詞限制,所以我每個字也分詞,然而這樣可能影響分數判斷。
另一方面ES也支持類似sphinx的匹配方式,叫做fuzzy,模糊匹配,一般會一起使用,一個詞不在分詞庫中的時候,就用fuzzy,所以Es在功能上,應該和sphinx不會有太多差別,而且應該要更多。
## 個人方面
我在使用shpinx的時候,會查3次,一次完全按照用戶輸入的查(如果用戶沒有輸入空格),一次按照空格分開查或者分詞系統分詞結果查,一次按照單個字來查(前提是前面兩個結果太少)。
在用Es的時候,如果沒有辦法正確分詞,會按照fuzzy + 單字查(可以同時進行),如果有辦法分詞,按照分詞結果 + 單字查(可以同時)
## 後期維護上:
sphinx的配置文件在mysql分表之後,維護起來是比較麻煩的,你可以用php腳本當做配置文件,這樣會好很多。
Es的索引是可以主動發給它去建立的(通過http介面),分表之後,它不關心資料庫狀態和結構。新增欄位可以熱更新。
## 擴展性上:
Es和sphinx都支持分布式索引,擴展性都沒有問題
兩者都支持別名,Es的別名加上動態建立索引,使得更換索引結構或者重建索引後,支持0宕機時間。而sphinx的rotate選項可以動態更新索引(不知道能不能動態創建索引,因為sphinx我在使用的時候,索引都要求寫在配置文件里。
性能方面沒有測試數據。從直觀感受上sphinx要快一些。
⑼ php+mysql中拆分搜索問題
你這個需求描述不清,麻煩說清楚!這個關鍵詞分割有什麼要求,從你舉的列子看看不出你的要求,有歧義!可以有多種理解方式,第一種:盡量讓A少分割 第二種:將A 2個字元分割,沒有就再分!
這個分割的規則你沒說明白!
⑽ php中文分詞誰有源碼發我一份吧,謝謝
我看這個不錯
http://www.ftphp.com/scws/index.php
補充:
怎麼用?
看文檔。
如果連文檔都懶的讀,可以直接直接問作者本人。