solr 查询预热问题和 solrconfig.xml

solr query warmup troubles and solrconfig.xml

我正在尝试在 Solr 4.10.3 版 solrconfig.xml 中配置预热查询,但无论我们如何操作,缓存似乎在大约一分钟后消失,然后再次进行第一次搜索大约需要 20 秒,后续搜索会立即进行。

查询如下所示(过滤器是变量搜索词):

solr/Nyheder/select?q=overskrift:" & filter & "+OR+underrubrik:" & filter & "+OR+tekst:" & filter&fl=id+oprettet+overskrift+underrubrik+tekst+pix &sort=oprettet+desc

solrConfig.xml 部分(似乎没有任何帮助)看起来像这样(事件="firstSearcher" 类似):

<listener event="newSearcher" class="solr.QuerySenderListener">
  <arr name="queries">
         <lst>
    <str name="q">*:*</str>
    <str name="sort">oprettet desc</str>
    <str name="fl">id oprettet overskrift underrubrik tekst pix</str>
   </lst>
       <lst>
    <str name="q">overskrift:* OR underrubrik:* OR tekst:*</str>
    <str name="sort">oprettet desc</str>
    <str name="fl">id oprettet overskrift underrubrik tekst pix</str>
   </lst>
  </arr>
</listener>

编辑:添加了提交配置

      <autoCommit> 
   <maxTime>120000</maxTime> 
   <openSearcher>true</openSearcher> 
 </autoCommit>
<autoSoftCommit> 
   <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
 </autoSoftCommit>

每次您进行软提交或硬提交时,您的缓存或多或少都会失效,因为任何类型的提交通常都会创建 "newsearcher"。 您可能将软提交或硬提交设置为 1 分钟。

检查此 link 并查看软提交和硬提交部分。

原来这根本与SolR无关,而是与内部路由有关。 对于那些感兴趣的人,事实证明在使用 IPv4 地址之前检查了 ipv6 DNS 并且需要超时,因此延迟来自 DNS 查找+超时而不是来自 SOLr。