2013-02-06 39 views
5

問題1:我試圖在我的solrconfig.xml中優化我的搜索者,並且有兩種不同的搜索者可以加熱。我的理解是,FirstSearcher只會在服務器啓動時啓動。每當你需要一個新的搜索器時,都會創建一個newSearcher。在我看來,我們希望在每個方面都指定相同的方面和方面。什麼時候你希望他們有所不同?我應該如何配置我的Solr filterCache,firstSearcher和newSearcher?

問題2:有什麼方法可以確定搜索器啓動時添加fq或facet的效果嗎?我知道我可以蠻力用fqs/facets來衡量一個搜索者的啓動時間,而不是一個,但這並不是非常精細。假設個人fq/facet的成本/收益方式,我希望能夠衡量,以便我可以決定哪些東西值得升溫,哪些不值得。

問題3:如何有效地調整我的filterCache大小?我有一組特定的fqs,我知道它們可能會被擊中,其中大約有500個,所以我似乎將它設置爲500.然而,Solr似乎使用filterCache來查找必須被分面的結果。由於我的查詢中有90%是分面的,因此我們似乎不得不使用預期的查詢數作爲高速緩存大小的基礎。這聽起來是對的嗎?

回答

2
  1. 您的理解是正確的。然而,newSearcher可以從最後一個自動武裝,所以這是一個區別。另一個原因是,由於newSearcher每次提交都會發生,如果您頻繁提交,您可能需要做的工作量要比開始感冒時少得多。

  2. 我不知道有一個好方法。查詢是連續運行的,至少在firstSearcher中,顯示在訪問日誌中,所以你可以從字面上看到他們需要多長時間。儘管給定的查詢集產生了「足夠熱情」的東西,但它仍然是試驗和錯誤。

  3. 有關FilterCache大小最值得記住的是單個條目(索引中的文檔數)/ 8個字節。因此,如果您將大小設置爲500,並且您的索引中包含100M文檔,則需要6.25G的堆來保存它。一般而言,建議您儘可能縮小堆的大小,爲磁盤緩存留下更多內存,但這是一個例外。至於對緩存施加驅逐壓力的方面查詢,我有同樣的問題,而且我不知道任何解決方案。見https://issues.apache.org/jira/browse/SOLR-8171

相關問題