0

我们有一个使用 SOLR 进行搜索的 PHP Web 应用程序。APP 使用 CURL 连接到 SOLR 服务器,并与数千个预定义的关键字循环运行。这将在给定时间为 SOLR 创建数千个不同的搜索查询。

我的问题是,当单个用户登录应用程序时,一切都按预期工作。当有多个用户尝试运行应用程序时,我们会从服务器获取此响应。

连接 xxx.xxx.xxx.xxx 失败:无法分配请求的地址无法连接到 xxx.xxx.xxx.xxx:无法分配请求的地址失败

我们的假设是,SOLR 服务器无法在给定时间处理这么多的搜索查询。如果是这样,克服这个问题的解决方案是什么?SOLR中是否有类似keep-alive的设置?

任何帮助将不胜感激。

谢谢,

阿伦小号

4

1 回答 1

0

对关键字的一个子集进行 OR 运算并只执行一个查询呢?
然后,如果没有找到,请尝试使用下一个关键字子集?

对于这种特殊情况,我认为您需要提高应用程序性能,而不是 SOLR,即使您需要做一些诡计。

SOLR中是否有最大连接限制?

这在很大程度上取决于您使用的硬件和操作系统,可能还取决于您使用的 servlet 容器。

如果您需要 SOLR 的更多性能,您可能需要调整架构(您可以在此处发布以获得更多帮助)、垂直销售(ram 目录或 SSD)或考虑主从设置。

于 2012-04-11T14:43:37.627 回答