代码之家  ›  专栏  ›  技术社区  ›  Stavros Korokithakis

solr DoS保护

  •  1
  • Stavros Korokithakis  · 技术社区  · 15 年前

    我们的web应用程序最近成为一些DDoS的目标。我们使用solr,他们每几秒钟搜索一次“**”,就成功地生成了100%的负载。有人能告诉我为什么这个查询需要几十秒才能运行,而其他的一切只需要几毫秒吗?另外,代码会将用户ID附加到搜索中,因此查询是“userid:10 AND**”,这不应该太慢,因为该用户只有大约10个文档。

    有人知道发生了什么事吗?我们怎样才能最好地保护自己不受伤害?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mauricio Scheffer    15 年前

    ** Solr将其解释为带有前导通配符和结束通配符的查询,由于这些字段不是已定义的字段,因此它将落在默认搜索字段上,该字段(如您在注释中所述)是一个大文本字段。所以它最终会搜索所有的东西,这可能就是为什么要花这么长时间。

    ** 在将查询传递给Solr之前。你甚至可以过滤所有 * 如果不允许用户发出任何通配符查询。