如何清除 Solr 中的缓存?

Posted

技术标签:

【中文标题】如何清除 Solr 中的缓存?【英文标题】:How to clear the cache in Solr? 【发布时间】:2012-02-24 05:30:39 【问题描述】:

我正在尝试比较不同 Solr 查询的性能。为了得到公平的测试,我想清除查询之间的缓存。

这是怎么做到的?当然也可以重启服务器,我很好奇有没有更快的方法。

【问题讨论】:

为了获得更公平的测试(取决于您实际测量的内容),您还可以在每次测试之前清除操作系统缓冲区缓存(请参阅linux-mm.org/Drop_Caches)。 @jpountz 感谢您的链接。我用echo 3 > /proc/sys/vm/drop_caches 对其进行了测试,但它没有清除 Solr 缓存。 对,它只清除操作系统缓存。要清除 solr 缓存,我认为 autowarmCount=0 并运行提交会起作用 wiki.apache.org/solr/SolrCaching#autowarmCount ' 【参考方案1】:

我使用的是 4.2.1 版,即使使用 autowarmCount="0" 进行数据导入后缓存也不会更新。

在这种情况下,在 Solr Admin 上(通常是 http://localhost:8983/

转到 Core Admin 并点击 重新加载。 刷新后,您应该会在“当前”字段上看到一个绿色复选标记。

【讨论】:

【参考方案2】:

禁用来自solrconfig.xml的所有缓存。

请注意,Lucene FieldCache 仍将启用。

【讨论】:

问题是关于清除缓存,而不是禁用它。【参考方案3】:

仅供参考

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

示例禁用 queryResultCache

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

-->

【讨论】:

以上是关于如何清除 Solr 中的缓存?的主要内容,如果未能解决你的问题,请参考以下文章

如何清除 Firefox 中的 Service Worker 缓存?

缓存后如何清除浏览器中的缓存? [复制]

如何清除 AFNetworking 中的旧缓存?

如何清除 APCu 中的用户缓存?

如何清除清漆中的完整缓存?

如何清除asp.net中的服务器缓存?