我的應用程序打算定期向Solr插入文檔。有兩點需要注意:ConcurrentUpdateSolrClient如何處理更新請求?
- 發送更新請求到Solr是對性能的關鍵影響。
- 線程安全的交易。 SolrClient的提交不是線程安全的(如果我錯了,指出這一點),當多個用戶向Solr輸入文檔時,這可能會導致嚴重的問題。
我發現ConcurrentUpdateSolrClient
是一個候選解決方案,它是線程安全的,它有一個隊列來在一個連接中緩衝和刷新許多文檔。但是當我測試它時我感到困惑。我的問題是,
- 如果我設置隊列大小,我還需要提交嗎?
- 如果我提交,即使隊列中只有一個文檔,它仍然會向Solr提交一個http請求。我可以使它作爲消息隊列工作嗎?
非常感謝您的參考。我瞭解softcommit和hardcommit是什麼。最重要的想法是「不要做任何客戶的承諾」 - 埃裏克埃裏克森。 – BurnetZhong
我很高興看到我的回答很有用:) – freedev