Solr性能-过滤器缓存-新的过滤器查询导致其他过滤器过早退出

时间:2019-07-18 08:47:29

标签: solr solr4

某些过滤器查询相对难以计算,但是缓存很快就被轻量级的过滤器查询所填充。

例如: fq=language_facet:eng返回700万条记录,大约需要300毫秒来计算。 (我使用q=*:*&fq=language_facet:eng进行验证)

几乎每次查询此过滤器查询时,缓存中都不存在该查询。 通过两种不同的方式对此进行了验证: 1.按查询时间。如果在发出q=*:*&fq=language_facet:eng呼叫之后经过了足够的次数,则下一个呼叫大约需要300毫秒。 2.使用Solr Adming:插件/统计-> CACHE-> filterCache。将solrconfig.xml filterCache更改为显示所有项目(并将大小减小为300,这样就可以管理)

<filterCache class="solr.FastLRUCache" size="300" initialSize="300" autowarmCount="0" showItems="300" cleanupThread="false"/>

我想象内置的精简构面调用通常包含数百个构面值以进行计算,从而接管缓存。

怎样才能使重型过滤器不消失? 是否应将FastLRUCache算法替换为其他算法? filterCache的大小为150,000(也尝试过较小的大小)

使用Solr 4.7.2并设置6个聚合器和约200个分片。

0 个答案:

没有答案