我读过Azure Search .NET SDK使用NewtonSoft.Json将其模型转换为json的基础REST API调用,所以我在自己的应用程序中也是如此。
我有一个简单的应用程序,它使用.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");
在配置自定义分析器之前,这工作正常,但现在我的配置中有自定义分析器,分析器,Tokenizers和TokenFilters没有被解析为正确的类型。即。我的自定义分析器被反序列化为Microsoft.Azure.Search.Models.Analyzer,而不是Microsoft.Azure.Search.Models.CustomAnalyzer,同样适用于Tokenizers和TokenFilters,它们被反序列化为基类型。
我可以通过json文件在.NET SDK中创建这样的索引吗?
答案 0 :(得分:1)
不幸的是,这不是官方支持的方案。虽然它适用于简单的索引定义,但我们正在努力了解我们需要做些什么才能支持所有案例。
请在我们的用户语音页面上发布您的功能请求,以帮助我们确定优先顺序:https://feedback.azure.com/forums/263029-azure-search
与此同时,您可以通过调整this file底部的JsonSerializerSettings
初始化代码来实现自己的工作。