Solr刻面性能
我正在使用Solr方面字段,遇到了一个我不理解的性能问题。考虑这两个查询:Solr刻面性能,solr,Solr,我正在使用Solr方面字段,遇到了一个我不理解的性能问题。考虑这两个查询: q=word&facet.field=CONTENT&facet=true&facet.prefix=&facet.limit=10&facet.mincount=1&facet.method=enum&rows=0 q=word
q=
word&facet.field=CONTENT&facet=true&facet.prefix=&facet.limit=10&facet.mincount=1&facet.method=enum&rows=0q=
wordfacet.prefix
第一个查询在大约20秒后返回(QTime
20000),而第二个查询只需要80毫秒(QTime
80)。为什么会这样
另请注意:facet.method=fc
使查询“永远”运行,并最终以org.apache.solr.common.SolrException失败:字段内容上的UnInvertedField faceting值太多
这是Solr 1.4的版本。来自本文档:
facet.prefix参数将用于刻面的术语限制为
以给定的字符串前缀开始
这意味着你用的术语更少。
现在,我非常确定刻面时间包含在Qtime中(正如这篇文章所示:)
因此,这意味着更少的术语,更少的时间。可能不会在内容上刻面,因为这可能有许多不同的术语,在内容上刻面是没有意义的。尝试在类别字段或其他具有较少唯一性术语的字段上进行刻面处理。重新启动Solr server后,您是否尝试过以相反的顺序执行它们 通常第一个查询需要更多的时间,如果下一个查询恰好与前一个查询有更多的共同点,那么会有缓存命中,响应时间将是难以置信的 此外,请注意,“enum”更适合于内唯一术语数量较少的方面字段 此外,尝试增加到一个非常大的数字,并检查您的缓存命中率
SOLR_DOMAIN:PORT/solr/#/collection1/plugins/cache?entry=fieldValueCache,filterCache
谢谢你的提示。我用默认值尝试了一下,3分钟后得到了答案。然后我增加了
filterCache
十次,三分钟后得到了答案。然后我又增加了filterCache
十次,大约15分钟后得到了答案。一定是别的东西。