如何清除 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 中的缓存?的主要内容,如果未能解决你的问题,请参考以下文章