場景:頁面刪除某條記錄,刪除完成後系統會立即刷新列表頁,結果刪除的還在列表頁顯示,再次點擊查詢按鈕,被刪除的數據纔會消失
嘗試Thread.sleep(1000); 可以解決,但是不友好
DeleteRequest deleteRequest = new DeleteRequest(indexName,id);
deleteRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
client.delete(deleteRequest, RequestOptions.DEFAULT);
刪除時增加刷新策略,立即刷新即可,一定要在client執行前設置
deleteRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
參考官方api
https://www.elastic.co/guide/en/elasticsearch/reference/7.9/docs-refresh.html