2012-09-27 29 views
1

我有一個Solr服務器設置,效果很好,坐在限制訪問一系列IP的Apache代理服務器之後。我們的應用程序(內置於ZF/PHP)將使用PHP代理函數來查詢Solr實例(但ZF服務器的IP是允許的),但是我一直在測試一個新的接口,並且注意到查詢Solr直接來自JS比使用PHP代碼來代理更快。使用Javascript安全地查詢Solr

我測試的頁面每頁加載運行25個以上solr查詢。使用純JS加載很好,使用PHP -not甚至接近可用。

有沒有辦法使用jQuery或比PHP更快的代理客戶端?

我一直在尋找天,閱讀各種類型的代理服務器,反向代理服務器,安全地查詢webservices而不暴露密鑰,等等。但我仍然有點失去了使用JS查詢服務的最佳方式。

任何教程或建議將不勝感激,歡呼!

+0

我只是好奇爲什麼PHP的查詢速度會有很大的不同。 Solr中的所有「直接」查詢在技術上都必須與PHP提出的REST請求非常相似。你確定這些問題與網絡無關? – wroniasty

+0

什麼是阻止用戶向您的索引發送'{'delete':'*:*'}',如果它暴露?請改爲調整您的LAMP以提高性能。 – aitchnyu

+0

一個好點wroniasty ...更多的谷歌搜索後,似乎PHP鎖定會話導致我的電話備份和執行超級緩慢類似於http://stackoverflow.com/questions/3760926/zend-auth-locked-session謝謝張貼! – Mrmartin

回答

1

爲什麼不創建一個requestHandler,它被指定從互聯網直接調用並使其可訪問? (比較solrconfig.xml)。

Apache-Proxy可以配置爲限制對requestHandler(requestHandler的URL)的訪問,並且可以將requestHandler本身配置爲添加隱式查詢(應該可以使用不變的fq參數)。

如果您的update-requestHandler無法訪問,應該可以嗎?