[Azure] C# 使用 Azure.Search.Documents Azure Blob 搜尋中的 JSON 資料 -刪除索引子資料
上一篇文章,我們新增資料(上傳一個檔案),索引會自動加入該編號,只是我們多加上了重新執行索引,而不是等待原本的設定時間
今天,我們來討論一下,如果刪除資料(刪除該檔案)怎麼辦?
1. 首先我們要按照這文章建立資料 使用 Azure.Search.Documents Azure Blob 搜尋中的 JSON 資料 -建立環境 ,這裡面重要的是這兩步
索引鍵 設定為 Id ,還有這在最後一步
把 Base-64 編碼金鑰取消勾選,當然這不是必須,只是方便撰寫。
2.刪除資料,就是直接刪除 Blob 上面的資料,這邊我大概提供程式碼,我刪除 Id : USER994 的資料
刪除後,我們重新再 Azure 後臺跑一次,執行索引子,發現其實沒有更新任何資料,這時候我們用程式跑一下搜尋 USER99開頭資料,你會發現
USER994 還在,目前唯一作法就是直接刪除索引子中的該資料
C# Delete Azure Search Indexer Data:
這樣刪除後 USER994 就查不到了,不知道為什麼,寫到這的資料很少,是不是因為我的設計方式跟大家不太一樣總之大概就是這樣,
如果你建立環境,如果 base64編碼金鑰打勾的話,Id 資料會變成 Base64這邊要注意。
大概就是這樣,這個我測試一段時間了,筆記一下,給之後要踩雷的人..
reference:
https://stackoverflow.com/questions/28327003/how-to-remove-all-documents-in-index
https://stackoverflow.com/questions/54670922/azure-search-index-rebuild-strategy-using-c-sharp
https://docs.microsoft.com/zh-tw/azure/search/search-howto-reindex
https://docs.microsoft.com/zh-tw/azure/search/search-howto-create-indexers?tabs=portal