0

我读过 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 中创建这样的索引?

4

1 回答 1

1

不幸的是,这不是官方支持的方案。虽然它适用于简单的索引定义,但我们正在努力了解我们需要做什么才能支持所有情况。

请在我们的用户语音页面上发布您的功能请求,以帮助我们确定优先级:https ://feedback.azure.com/forums/263029-azure-search

同时,您可以通过修改此文件JsonSerializerSettings底部的初始化代码来使其自己工作。

于 2016-12-07T21:09:46.993 回答