具有大型排除列表的Solr查询

具有大型排除列表的Solr查询,solr,full-text-search,Solr,Full Text Search,我需要在我的查询中添加50-300个文档的排除项。 当排除列表小于100时,它可以正常工作,不会影响性能。 一旦我在排除列表中找到了大约200个ID,查询的运行速度就会大大减慢。 我试图将排除列表放入过滤器查询中,但没有帮助。 我认为解析列表会增加很多时间。 有没有办法定义一次fq,然后按名称引用它,而不是每次发送它? 对于大型排除列表是否有其他解决方案? 我尝试了连接功能,它也导致查询运行速度变慢 注: 不要忘记使用以下查询格式: fq:!id(1,2,3...1000) 这提供了比以下更好

我需要在我的查询中添加50-300个文档的排除项。 当排除列表小于100时,它可以正常工作,不会影响性能。 一旦我在排除列表中找到了大约200个ID,查询的运行速度就会大大减慢。 我试图将排除列表放入过滤器查询中,但没有帮助。 我认为解析列表会增加很多时间。 有没有办法定义一次fq,然后按名称引用它,而不是每次发送它? 对于大型排除列表是否有其他解决方案? 我尝试了连接功能,它也导致查询运行速度变慢

注: 不要忘记使用以下查询格式:

fq:!id(1,2,3...1000)
这提供了比以下更好的结果:

fq= -(id:0 id:1 .. id:1000)
如果您在Solr配置中指定了,则大型筛选器的结果将被缓存,直到索引更改为止