db中有大約1000萬條記錄,我們很高興做到這一點,因爲我們通過從solr而不是db獲取記錄來獲得高性能優勢。 此數據用於報告。Solr更新索引
目前我們在索引中保持平面數據。例如:
Itemid, Companyname, Username, Status
只要項目的狀態從「接收」更改爲「出售」,我們就調用solr api更新記錄。所有工作都很好。我們已實時更新索引,報告效果良好。
問題1:現在將來可以說,用戶更新公司A到公司B的公司名稱,或者可能是用戶名從Mike到Jimmy,我們該如何處理?
我的想法
聽用戶和公司更新事件,並更新只有那些Solr的指標,其中name =舊名稱
保持ID爲公司和用戶索引而不是名字。從solr獲取記錄後,再次點擊db以獲取更新的名稱。這將是一個混合的方法,其中主要字段來自指數也只有這樣的字段來自數據庫表
問題2:我打電話Solr的更新來更新每一個呼叫狀態transistions指標。現在有更好的方法來做到這一點嗎?我未來在性能打擊方面漏掉了什麼,或者當狀態轉換的頻率增加了嗎?
問題3:可以說,未來需要在報表中再顯示一個尚未索引的列。什麼是這樣做的標準可接受的方式?
請分享您的專家意見。