在我的系统有复杂的要求,我会提供给用户的池。用户可以用我的变体或键入自己的请求。可以Solr的缓存我提前请求的变体,当它建立索引?
有Solr中建立索引时无需预热高速缓存,但是,有一个名为query related listeners功能,有了这个,你可以温暖指数搜救,同时他们已经开始。
有两种类型的事件 - firstSearcher
(这通常发生在Solr的启动)和newSearcher
,当正在准备一个新的搜索器,其被触发(硬承诺可能是该事件的例子之一)
在solrconfig.xml
的部分看起来是这样的:
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<!--
<lst><str name="q">solr</str><str name="sort">price asc</str></lst>
-->
</arr>
</listener>
<listener event="firstSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst><str name="q">static firstSearcher warming in solrconfig.xml</str></lst>
</arr>
</listener>
你需要做的 - 是列出你沉重的查询,所以他们会提供搜索请求之前预热。这应该做出更快以后搜索。
不要忘了正确使用过滤器的一般规则,让FilterCache将被填充适当为好。