簡體   English   中英

基於PHP的搜索框架

[英]PHP-based search frameworks

我打算建立一個需要高級搜索功能的小網站。 由於重新發明輪子不是一個值得的活動,我做了一些谷歌搜索,發現有一些基於PHP的搜索框架,其中一個集成到Zend框架。

我想在框架中擁有什么:

  1. 全文和目錄搜索功能
  2. 顯示按相關性排序的結果
  3. 能夠按類別過濾結果
  4. 按各種標准對結果進行排序
  5. 快速搜索
  6. 不需要快速插入

由於該網站將具有相當多的靜態內容(一些文本和產品目錄),我可能會使用一些預先生成的索引。

是否有任何(免費)框架可以滿足上述要求? 建議,提示和想法非常受歡迎。 如果您可以分享實施搜索系統的經驗,那就太棒了。

如果該站點僅具有靜態內容,您可能希望使用諸如JoomlaDrupal之類的CMS。 兩者都有很好的搜索系統。 但是,搜索實際上取決於您擁有的內容類型。 如果它只是搜索頁面的HTML,這是一回事,但在數據庫中搜索特定型號的產品#是另一種,在這種情況下,您需要購物車/電子商務系統而不是CMS。

看看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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM