我们的 solr 索引 (Solr 3.4) 拥有超过 1 亿份文档。
我们经常在这个索引上触发一种类型的查询来获取文档,进行一些处理并转储到另一个索引中。
查询格式为 -
((keyword1 AND keyword2...) OR (keyword3 AND keyword4...) OR ...) AND date:[date1 TO *]
关键字的数量可以在 100 - 1000 范围内.
我们正在添加排序参数'date asc'。
查询的关键字部分很少更改,但日期部分总是更改。
现在主要有2个问题,
1)查询时间太长。
2)有时当'numFound'对于查询来说非常大时,它会给出OOM错误(我猜这是因为排序)。
我们还没有使用任何类型的缓存。
缓存是否有助于解决这些问题?
如果是,什么类型的缓存或缓存配置适合开始?