我读过 Azure Search .NET SDK 使用 NewtonSoft.Json 将其模型转换为/从其底层 REST API 调用中的 json 转换,所以我在自己的应用程序中一直在做同样的事情。
我有一个简单的应用程序,它使用 .NET SDK 创建一个新索引。为此,我使用此处概述的格式https://docs.microsoft.com/en-us/rest/api/searchservice/create-index在 json 文件中定义我的索引,然后我将其转换为使用 Newtonsoft 的 Microsoft.Azure.Search.Models.Index 对象。
var index = JsonConvert.DeserializeObject<Microsoft.Azure.Search.Models.Index>(System.IO.File.ReadAllText("config.json");
这在我配置自定义分析器之前工作正常,但现在我的配置中有自定义分析器,分析器、标记器和标记过滤器没有被解析为正确的类型。IE。我的自定义分析器被反序列化为 Microsoft.Azure.Search.Models.Analyzer,而不是 Microsoft.Azure.Search.Models.CustomAnalyzer,Tokenizer 和 TokenFilters 也是如此,它们被反序列化为基本类型。
有没有一种简单的方法可以从 json 文件在 .NET SDK 中创建这样的索引?