我讀過Azure Search .NET SDK使用NewtonSoft.Json在它的基礎REST API調用中將它的模型轉換爲/從JSON轉換爲模型,因此我在自己的應用中也一樣。如何使用Azure Search .NET SDK中的json文件自定義分析器創建索引?
我有一個簡單的應用程序,它使用.NET SDK創建一個新的索引。爲此,我在json文件中定義了我的索引,使用這裏列出的格式https://docs.microsoft.com/en-us/rest/api/searchservice/create-index,然後使用Newtonsoft將其轉換爲Microsoft.Azure.Search.Models.Index對象。
var index = JsonConvert.DeserializeObject<Microsoft.Azure.Search.Models.Index>(System.IO.File.ReadAllText("config.json");
這是工作的罰款之前,我配置的自定義分析儀,但現在,我有自定義分析儀在我的配置,該分析儀,斷詞和TokenFilters沒有被解析爲正確的類型。即。我的自定義分析器正在反序列化爲Microsoft.Azure.Search.Models.Analyzer,而不是Microsoft.Azure.Search.Models.CustomAnalyzer,對於Tokenizers和TokenFilters也是如此,它們正在反序列化爲基本類型。
有沒有一種簡單的方法,我可以在json文件的.NET SDK中創建一個像這樣的索引?
我設法找到了解決方法來生成將被支持的JSON。我使用.NET SDK獲取了現有的索引(使用REST API創建),然後使用Newtonsoft和TypeNameHandling.All JsonSerializer設置將其轉換爲JSON。這在「$ type」屬性中生成了帶有註釋類型信息的JSON文件。我用這個替換了以前的JSON文件,現在我可以使用.NET SDK從這個json文件生成我的索引,並且可以應用所有正確的類型。感謝您的回答。 – pantryfight