我们有一个使用SOLR进行搜索的PHP Web应用程序。 APP正在使用CURL连接到SOLR服务器,并在一个循环中运行数千个预定义关键字。这将在给定时间为SOLR创建数千个不同的搜索查询。
我的问题是,当单个用户登录应用程序时,一切都按预期工作。当有多个用户尝试运行应用程序时,我们会从服务器获得此响应。
无法连接到xxx.xxx.xxx.xxx:无法分配请求 addressFailed to connect to xxx.xxx.xxx.xxx:无法分配请求 addressFailed
我们的假设是,SOLR服务器无法在给定时间处理这么多搜索查询。如果是这样,解决这个问题的解决方案是什么?在SOLR中是否有像keep-alive这样的设置?
任何帮助都会非常感激。
谢谢,
答案 0 :(得分:0)
如果要对关键字的子集进行OR运算,只做一个查询呢? 然后,如果找不到任何内容,请尝试下一个关键字子集?
对于这个特殊情况,我认为你需要提高你的应用程序性能,而不是SOLR,即使你需要做一些诡计。
SOLR中是否存在最大连接限制?
这在很大程度上取决于您使用的硬件和操作系统,以及您使用的servlet容器。
如果您需要更多的SOLR性能,您可能需要调整您的架构(您可以在此处发布以获得更多帮助),垂直销售(ram目录或SSD)或考虑主从设置。