2012-09-27 32 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无法访问,应该可以吗?