2012-03-14 10 views
5

我使用Solr的相似到 名數據:年齡:性別:平衡:nextbalance:興趣Solr的負載整個索引到內存

我有30個男共記錄到4G的磁盤上。我按年齡檢索:23只有50個記錄。我在schema xml中有indexed =「true」。 Solr似乎將磁盤上的整個索引加載到內存(4G)中。它不應該只檢索到40記錄到記憶?

+0

我試圖與年齡來搜索時運行內存不足:23。它將整個索引加載到內存中。 – Hari 2012-03-14 15:27:17

回答

3

也許這就是文件緩存。你需要指定它的大小。你可以在solrconfig.xml中檢查以下內容嗎?

<!-- documentCache caches Lucene Document objects (the stored fields for each document). 
    --> 
<documentCache 
    class="solr.LRUCache" 
    size="16384" 
    initialSize="16384"/> 
1

存儲但未編入索引的字段保存在磁盤上,但不保存在RAM中。但是,100%的記錄確實在RAM中索引,並且這些索引包含所有索引字段。但倒序索引相當有效。

但是,當您執行查詢時,SOLR會將所有存儲的(但未編入索引的)字段內容檢索到匹配記錄的RAM中。這通常被認爲是理想的緩存行爲,因爲這意味着可以更快地傳輸搜索結果,從而縮短整個查詢週轉時間。像往常一樣使用SOLR,您可以通過多種方式配置緩存行爲,以符合您的RAM預算和數據庫需求。看看solrconfig.xml中的可能性。

請注意,這是一個複雜的領域,如果Google是您的主要信息源,您可能很難完全理解緩存。這是一個最好從SOLR書籍中學習的地方。

+0

在SOLR的性能調整方面學習什麼是一本好書? – 2012-04-06 23:29:02

+0

任何書都比沒有書好。 SOLR的設置非常簡單,許多人不花時間做一些研究並學習如何使用它提供的所有按鈕和旋鈕。所以,如果你閱讀任何一本書並運用你所學到的知識,那麼你就會超過那些依賴默認設置和博客圈的食譜的人羣。 – 2012-04-07 02:00:02

+0

我實際上遵循了你的建議,之前。我現在已經完成了SOLR食譜,但現在我正在尋找更多教學內容(我喜歡烹飪書,但它們對於以後來說都很好)。我的經驗顯示來自同行的建議,更好的是沒有。 – 2012-04-07 12:41:21