[英]Faceted Search With(out) Solr
我想對我的項目實施分面搜索 。 我正在使用PHP5
, Mysql
和Symfony 1.4
。 顯然,這個社區指向Apache Solr ,它似乎完全符合我想要完成的任務。
問題是該網站將在托管服務提供商上生效,不允許我設置Solr
(它是一個共享托管環境,既不允許Tomcat
也不允許Solr
運行)。
那么請您指點一下可能的替代方案,或者是否有辦法在這樣的環境中設置Solr
?
編輯
我的托管服務提供商既不支持SOLR
也不支持opensolr
。 一般情況下,我無法使用我的環境連接到同一服務器或遠程服務器上的進程。 似乎唯一可用的選項是使用Zend_Search_Lucene 。 那么這支持分面搜索嗎? 或者,如果您有其他選擇,請分享! 我覺得自己處在不知名的地方!
編輯2
由於這個問題從給出的答案開始大約一周,我感到驚訝(並且失望)PHP中沒有可用於實現分面搜索的庫( 非服務)。 似乎要么需要手動實現,要么使用下面提供的解決方案
更改主機,或在其他地方托管Solr索引 - 例如,快速搜索顯示http://www.opensolr.com/提供Solr托管,毫無疑問其他許多人。
性能不會很好,也不討論擴展,但您始終可以通過HTTP創建反向HTTP隧道。 基本上,不是Web服務器打開到Solr服務器的出站連接,而是Solr服務器連接到Web服務器以請求作業和發布作業結果。
你需要做什么:
獎勵標記:如果您的服務器允許並發請求處理,請使用長輪詢來改善延遲。
簡而言之,咬緊牙關,搬到一個體面的主人。
盡量避免Zend_Search_Lucene,它不是很快。 (鑒於它在Php中實現並且不作為守護進程運行,這是非常好的)
如果你不願意改變東道主,保羅建議的主持Solr聽起來是個不錯的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.