Configuration 我应该如何配置Solr filterCache、firstSearcher和newSearcher?

Configuration 我应该如何配置Solr filterCache、firstSearcher和newSearcher?,configuration,solr,Configuration,Solr,问题1:我正在尝试在solrconfig.xml中优化我的搜索程序,有两种不同的搜索程序可以被激活。我的理解是firstSearcher只在服务器启动时启动。每当您需要新的搜索者时,就会创建一个newSearcher。在我看来,我们希望在每个应用程序中指定相同的FQ和方面。什么时候你希望他们有所不同 问题2:是否有任何方法可以确定添加fq或方面对搜索者启动时间的影响?我知道我可以用蛮力来衡量有fqs/facets的搜索者与没有fqs/facets的搜索者的启动时间,但这不是很精确。假设每个fq/

问题1:我正在尝试在solrconfig.xml中优化我的搜索程序,有两种不同的搜索程序可以被激活。我的理解是firstSearcher只在服务器启动时启动。每当您需要新的搜索者时,就会创建一个newSearcher。在我看来,我们希望在每个应用程序中指定相同的FQ和方面。什么时候你希望他们有所不同

问题2:是否有任何方法可以确定添加fq或方面对搜索者启动时间的影响?我知道我可以用蛮力来衡量有fqs/facets的搜索者与没有fqs/facets的搜索者的启动时间,但这不是很精确。假设每个fq/方面都有成本/收益,我希望能够衡量这一点,这样我就可以决定哪些东西值得变暖,哪些不值得

问题3:如何有效地调整filterCache的大小?我有一组我知道可能会被击中的FQ,大约500个,所以看起来我会把它设为500个。然而,Solr似乎对必须刻面的查询结果使用filterCache。由于我90%的查询都是分面的,因此我们似乎必须使用预期的查询数量作为缓存大小的基础。听起来对吗

  • 你的理解是正确的。然而,新闻搜索器可以从上一个自动预热,所以这是一个区别。另一个原因是,由于newSearcher每次提交都会发生,所以如果您经常进行提交,那么您可能希望做的工作要比开始冷提交时少得多

  • 我不知道有什么好办法。查询是连续运行的,至少在firstSearcher中,查询会显示在访问日志中,因此您可以确切地看到它们需要多长时间。然而,一个给定的查询集是否会产生“足够热”的结果几乎是反复试验

  • 关于FilterCache size,需要记住的最大一点是单个条目大约是(索引中的文档数)/8字节。因此,如果您将大小设置为500,并且您的索引中有100万个文档,您将需要6.25G堆来保存它。通常建议将堆的大小尽可能小,以便为磁盘缓存保留更多内存,但这是一个例外。至于对缓存施加逐出压力的方面查询,我也有同样的问题,我不知道有什么解决方案。看