我想为我的项目实施faceted search。我正在使用PHP5
,Mysql
和Symfony 1.4
。显然,社区指向Apache Solr,这似乎完全符合我的目标。
问题是该网站将在托管服务提供商上发布,不允许我设置Solr
(它是一个共享托管环境,既不允许Tomcat
也不允许{{1要正常运行。
那么请您指点可能的替代方案,或者是否有办法在这样的环境中设置Solr
?
修改
我的托管服务提供商既不支持Solr
也不支持SOLR
解决方案。一般情况下,我无法使用我的环境连接到同一服务器或远程服务器上的进程。似乎唯一可用的选项是使用Zend_Search_Lucene。那么这支持分面搜索吗?或者,如果您有其他选择,请分享!我觉得自己处于不知名的地方!
编辑2
由于这个问题从给出的答案开始大约一个星期,我感到惊讶(并且失望)PHP中没有可用于实现分面搜索的库(不服务)。似乎要么需要手动实现,要么使用下面提供的解决方案
答案 0 :(得分:2)
更改主机,或在其他地方托管Solr索引 - 例如,快速搜索显示http://www.opensolr.com/提供Solr托管,毫无疑问其他许多人。
答案 1 :(得分:1)
性能不会很好,也不讨论扩展,但您始终可以通过HTTP创建反向HTTP隧道。基本上,不是Web服务器打开到Solr服务器的出站连接,而是Solr服务器连接到Web服务器以请求作业和发布作业结果。
您需要做什么:
奖励标记:如果您的服务器允许并发请求处理,请使用long polling来改善延迟。
简而言之,咬紧牙关,转移到一个体面的主人。
答案 2 :(得分:0)
尽量避免Zend_Search_Lucene,它并不是很快。 (鉴于它在Php中实现并且不作为守护进程运行,它非常好)
如果你不愿意改变主持人,保罗建议听起来是个不错的选择。