0

我正在尝试在 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 部分(似乎没有任何帮助)看起来像这样(它与 event="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>
4

2 回答 2

0

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

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

于 2015-07-08T17:05:56.993 回答
0

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

于 2015-08-24T09:29:18.403 回答