❶ 經過nlp分詞系統得到的結果不準確,該怎麼辦
最近一段時間一直對phpcms v9的搜索功能,幾次想進行大的改動,但是一直沒時間考慮思路,不得已在原來的搜索功能的基礎上把搜索的分詞給改動了下,雖然不如意,但是也能將就著用。進入到phpcms/moles/search/index.php文件,找到//如果分詞結果為空if(!empty($segment_q)) {$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND MATCH (`data`) AGAINST ('$segment_q' IN BOOLEAN MODE)";} else {$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";}修改為:$sql = "`siteid`= '$siteid' AND `typeid` = '$typeid' $sql_time AND `data` like '%$q%'";這樣基本上就能解決一般的搜索功能了。 查看原帖>>
❷ PHP引擎程序是什麼
你說的是php的搜索引擎,還是模板引擎。
搜索引擎比如說PhpDig
是一個採用PHP開發的Web爬蟲和搜索引擎。通過對動態和靜態頁面進行索引建立一個詞彙表。當搜索查詢時,它將按一定的排序規則顯示包含關鍵字的搜索結果頁面。PhpDig包含一個模板系統並能夠索引PDF,Word,Excel,和PowerPoint文檔。PhpDig包含了三種最基本的搜素引擎技術:Spider技術,網頁結構化信息抽取技術或元數據採集技術,分詞/索引技術。區別於傳統搜索引擎,PHPdig適用於專業化更強、層次更深的個性化搜索引擎,利用它打造針對某一領域的垂直搜索引擎是最好的選擇。
還有很多這樣的開源而且免費的php搜索引擎:OpenWebSpider、RiSearch PHP
、Sphider、Snoopy、Sphinx、SEO Rank Checker、PHPCrawl、
模板引擎也有很多:
Smarty是一個使用PHP寫出來的模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
Heyes Template Class
一個非常容易使用,但功能強大並且快速的模板引擎,它幫助你把頁面布局和設計從代碼中分離。
FastTemplate
一個簡單的變數插值模板類,它分析你的模板,把變數的值從HTML代碼中分離處理。
ShellPage
一個簡單易用的類,可以讓你的整個網站布局基於模板文件,修改模板就能改變整個站點。
STP Simple Template Parser
一個簡單、輕量級並且易於使用的模板分析類。它可以從多個模板中組裝一個頁面,把結果頁面輸出到瀏覽器或者文件系統。
OO Template Class
一個你可以用在自己程序中的面向兌現的模板類。
SimpleTemplate
一個可以創建和結構化網站的模板引擎。它可以解析和編譯模板。
bTemplate
短小但是快速的模板類,允許你把PHP邏輯代碼從HTML修飾代碼中分離。
Savant
一個強大且輕量級的PEAR兼容模板系統。它是非編譯型的,使用PHP語言本身做為它的模板語言。
ETS - easy template system
可以使用完全相同數據重組模板的模板系統。
EasyTemplatePHP
適用於你的站點的一個簡單但是強大的模板系統。
vlibTemplate
一個快速、全能的模板系統,它包含一個緩存和調試類。
AvanTemplate
多位元組安全的模板引擎,佔用很少系統資源。它支持變數替換,內容塊可以設置顯示或隱藏。
❸ PHP 熱詞搜索功能怎麼做
你的項目大不大?不大的話就給每條數據加幾個關鍵詞,然後根據關鍵詞搜索
大的話你就可以考慮使用搜索引擎了,coreseek,sphnix,都可以的,也可以借用google/站內搜索,完w3cshooll就是借用google的
❹ php中如何使用sphinx搜索引擎
一. 安裝、配置
1.ubuntu安裝sphinx
如果沒有安裝aptitude ,需要先安裝 aptitude
2.配置
3.執行命令分詞,會在/var/lib/sphinxsearch/data/test1 目錄下生成一堆索引文件
sudo indexer -c /etc/sphinxsearch/sphinx.conf test1
test1為上述配置文件的index名字
4.命令行測試搜索
sudo search -c /etc/sphinxsearch/sphinx.conf google
二.在php中使用,安裝php、sphinx的依賴庫
安裝 aptitudeapt-get install aptitude
sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y
2.安裝php sphinx的擴展
安裝 pecl
sudo apt-get install php-pear php5-dev
在安裝sphinx
sudo pecl install sphinx
3.在配置文件php.ini中添加sphinx的擴展,
我的php.ini文件為
sudo vim /etc/php5/fpm/php.ini
獲取自己的php.ini文件位置使用
php5-fpm -i|grep ini
添加:
extension=sphinx.so
4.重啟php5-fpm,查看php是否載入sphinx模塊
sudo /etc/init.d/php5-fpm restart
5.將search程序運行在後台
sudo searchd -c /etc/sphinxsearch/sphinx.conf
默認監聽配置文件中的埠:9312
6.在thinkphp中調用搜索
搜索完畢,返回結果(默認返回20條,修改返回條數用添加$s->SetLimits(0, 1000, 1000);),搜索速度相當快,索引80w條數據的title和description兩個欄位耗時不到10s,該搜索引擎支持增量索引,多種模式的搜索,網上的資料也非常多
❺ 在oc、java或者php中漢語的語法檢測如何實現
首先需要對句子分詞,分詞的時候可以查看詞性,然後根據語法規則(如:主謂賓等)進行檢查判斷。
❻ php中有什麼函數能將字元串拆分成一個個的字(英語拆分成單詞,漢字拆分成字,數字不拆分)
PHP函數中好像不能拆分漢字,拆分漢字需要把他們分組後組成數組輸出