[英]Solr commit and optimize questions
我有一個分類廣告網站。 用戶可以放置廣告,修改廣告,查看廣告等。
每當用戶放置廣告時,我都會向Solr添加文檔。 但是,我不知道何時提交。 提交會使我閱讀的內容變慢。
我該怎么辦? 每12個小時左右自動提交一次?
另外,我應該如何進行優化?
有關提交/優化的更多詳細信息:
提交:在為文檔編制索引以進行solr時,您所做的任何更改都不會顯示,直到您運行commit命令為止。 因此,何時運行commit命令實際上取決於您希望更改通過搜索引擎顯示在網站上的速度。 但是,這是一項繁重的操作,因此不應該在每次更新后分批進行。
優化:這類似於硬盤驅動器上的碎片整理命令。 它將把索引重新組織成段(提高搜索速度),並刪除所有刪除(替換)的文檔。 Solr是只讀數據存儲,因此每次索引文檔時,它都會將舊文檔標記為已刪除,然后創建一個全新的文檔來替換已刪除的文檔。 優化將刪除這些已刪除的文檔。 您可以轉到Solr Statistics頁面並查看numDocs vs. maxDocs編號,以查看搜索文檔與已刪除文檔的數量。 這兩個數字之間的差異是索引中已刪除(無法搜索)的文檔數量。
此外,Optimize從舊索引建立一個完整的NEW索引,然后在完成時切換到新索引。 因此,該命令需要兩倍的空間來執行操作。 因此,您需要確保索引的大小不超過可用硬盤空間的%50。 (這是一條經驗法則,由於刪除了文檔,通常需要少於%50的費用)
索引服務器/搜索服務器:Paul Brown的正確做法是,solr的最佳設計是將服務器專用並調整為索引,然后將更改復制到搜索服務器。 您可以調整索引服務器以使其具有多個索引端點。
eg: http://solrindex01/index1; http://solrindex01/index2
而且由於索引服務器不搜索內容,因此可以使用不同的內存占用量和索引預熱命令等對其進行設置。
希望這對大家有用。
實際上,頻繁提交和優化會使事情變慢。 太重了
經過一天的搜索和閱讀,我發現了這一點:
1-優化會使索引在優化的同時大小增加一倍,並使事情真的變慢。
2-在每次添加之后進行提交不是一個好主意,最好每天進行兩次,然后最多每天僅進行一次優化。
3-在solrconfig.xml文件中應將Commit設置為“ autoCommit”,並應根據您的需要對其進行調整。
通常執行這種操作的方式是在用戶請求路徑之外的Solr節點上執行提交/優化操作。 這需要額外的硬件,但是可以確保索引操作的性能損失不會影響用戶。 復制用於定期將優化的索引文件從主節點穿梭到對用戶執行搜索查詢的節點上。
請先嘗試。 如果您僅避免閱讀簡單優雅的解決方案可能會導致性能問題,那將是非常糟糕的。 換句話說,請避免過早優化 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.