如何清除Solr中的缓存?

17

我正在尝试比较不同Solr查询的性能。为了进行公正测试,我希望在每次查询之间清除缓存。

这该怎么做?当然可以重启服务器,但我想知道是否有更快的方法。


要获得更公平的测试结果(取决于您实际测量的内容),您还可以在每次测试之前清除操作系统缓存(参见http://linux-mm.org/Drop_Caches)。 - jpountz
@jpountz 感谢提供的链接。我使用 echo 3 > /proc/sys/vm/drop_caches 进行了测试,但它并没有清除 Solr 缓存。 - arun
对,它只清除操作系统缓存。要清除solr缓存,我认为将autowarmCount设置为0并运行提交操作即可。http://wiki.apache.org/solr/SolrCaching#autowarmCount - jpountz
3个回答

7
我正在使用4.2.1版本,即使设置了“autowarmCount =” 0“,在执行Dataimport之后缓存也没有更新。
这种情况下,在Solr管理页面(通常为http:// localhost:8983 /):
转到核心管理并单击重新加载。刷新后,您应该在“current”字段上看到一个绿色的勾号。

3

solrconfig.xml禁用所有缓存。

请注意,Lucene FieldCache仍将启用。


2
这个问题是关于清除缓存,而不是禁用它。 - Pinkesh Sharma

0

仅供详细了解

如果您想禁用缓存(或全部禁用),请在solrconfig.xml中注释掉这些部分,然后重新启动solr。

例如禁用queryResultCache

   <!-- 
   <queryResultCache class="solr.LRUCache"
                      size="5000"
                      initialSize="5000"
                      autowarmCount="2000"/>

-->

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接