1

我们的网络应用最近成为了一些 DDoSer 的目标。我们使用 solr,他们通过每隔几秒搜索“**”来设法产生 100% 的负载。有人能告诉我为什么该查询需要几十秒才能运行,而其他一切只需要几毫秒?此外,代码将用户 ID 附加到搜索中,因此查询是“userid: 10 AND **”,这不应该真的减慢速度,因为该用户只有 10 个左右的文档。

有谁知道发生了什么,以及我们如何才能最好地保护自己免受伤害?

谢谢你。

4

1 回答 1

1

**Solr 将其解释为带有前导通配符和结尾通配符的查询,并且由于这些没有定义字段,因此它位于您的默认搜索字段上,该字段(如您在评论中所说)是一个大文本字段。所以它最终会搜索所有东西,这可能就是它需要这么长时间的原因。

**解决方案:在将查询传递给 Solr 之前在您的应用程序中过滤掉。*如果您不想让您的用户发出任何通配符查询,您甚至可以过滤所有内容。

于 2010-11-15T01:53:50.487 回答