当值列表达到一定大小时,Solr传递零结果

时间:2015-06-24 12:37:06

标签: solr

我使用类似

的查询查询Solr(4.5)
(ean:(boh OR dqn OR irc OR kjv OR jwn OR opf) AND aggregatorId:0)

这可以工作并提供六个结果。但是,如果我将ean的值列表的大小设置得非常大(大约10.000个值,包括以前找到的值),则服务器会提供包含0个文档的有效答案。我已将服务器配置为在solrconfig.xml中允许此数量的值:

<query>
     <maxBooleanClauses>65536</maxBooleanClauses>
     <filterCache
           class="solr.FastLRUCache"
           size="512"
           initialSize="512"
           autowarmCount="0"/>

     <queryResultCache
           class="solr.LRUCache"
           size="512"
           initialSize="512"
           autowarmCount="0"/>

     <documentCache
           class="solr.LRUCache"
           size="512"
           initialSize="512"
           autowarmCount="0"/>

     <enableLazyFieldLoading>true</enableLazyFieldLoading>
     <queryResultWindowSize>50</queryResultWindowSize>
     <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
     <HashDocSet maxSize="2048" loadFactor="0.75"/>
     <useColdSearcher>false</useColdSearcher>
     <maxWarmingSearchers>2</maxWarmingSearchers>
</query>

在扩大ean的值列表时,我怎么得不到任何结果?

Solr日志中没有错误消息,答案有效(但错误)。当我将maxBooleanClauses设置为例如2048,我预计在Solr日志中出现过多布尔子句错误会导致400错误结果。

更新: 我已经尝试了一些尺寸;列表中最多可包含9055个元素;对于9056,它已经不复存在了。

我尝试升级到Solr 4.8;同样的现象。

使ean字段的内容更长或更短也对行为没有影响(我已经考虑过64k以上大小的查询存在问题,例如使用任何缓存或缓冲区,但是没有)。

0 个答案:

没有答案