![](/img/trans.png)
[英]A php-based search facility with ExtJS not working well on Windows Environment
[英]PHP-based search frameworks
我打算建立一個需要高級搜索功能的小網站。 由於重新發明輪子不是一個值得的活動,我做了一些谷歌搜索,發現有一些基於PHP的搜索框架,其中一個集成到Zend框架。
我想在框架中擁有什么:
由於該網站將具有相當多的靜態內容(一些文本和產品目錄),我可能會使用一些預先生成的索引。
是否有任何(免費)框架可以滿足上述要求? 建議,提示和想法非常受歡迎。 如果您可以分享實施搜索系統的經驗,那就太棒了。
看看Omega (基於Xapian) - Xapian項目頁面的鏈接
你可以用cgi-wise集成它。 因為它基於快速的Xapian,如果你正確設置它將是最快的選項之一。 它可以做你要求的一切(包括搜索結果的相關性,索引web服務器文檔(html,pdf,word,excel,sql數據庫......)做'阻止'等...)
另一個(也是非常好的選擇)當然是Apache Lucene - >這是你引用的Zend框架中包含的這個(“Zend Search”)。 它可以做所有相同的技巧,雖然我個人更喜歡Xapian。
編輯:請注意,Omega(和Xapian)是GPL,而Apache Lucene是LGPL,如果我沒記錯的話。
絕對使用SOLR 。 Solr使用lucene。 這可以用於中型/大型網站....
好的是你可以從solr請求php序列化格式的結果...
編輯:
這就是你要找的東西,我完全忘了它: Zend的Lucene Port To PHP
我最近開發了一個暗示全文搜索,用於我的基於Zend Framework的Web應用程序 - 我找不到任何符合我要求的現成解決方案,所以我全力以赴,從頭開發了一個簡單的(全文)關鍵字搜索機制。 我發現以下文章很有幫助:
http://devzone.zend.com/node/view/id/1304
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
我現在擁有的是一個系統,它根據在數據庫中保存(或更新)項目時生成的“文本摘要”來匹配項目。 我有一個名為kw_search_summary的表,其中包含每個項目(生成的腳本)的文本摘要,其id和類別ID。 'summary'列是一個mysql全文索引,所以我只是MATCH()一個給定表達式的匯總列AGAINST(),並按相關性顯示結果。 構建此查詢的代碼看起來有點像這樣:
$select = $this->db->select()
->from(array('kwi' => 'kw_search_index'),
array('id','prodcatid','itemid','useradid','summary','relevance' => "match(summary) against($safeExp in boolean mode)"))
->where("match(summary) against($safeExp in boolean mode)")
->order('relevance desc')
->limitPage($currentPage,self::RESULTS_PER_PAGE);
希望這至少有點幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.