Azure Search .NET SDKは、NewtonSoft.Jsonを使用してモデルをjsonと/から変換してREST APIコールを呼び出すので、自分のアプリでも同じことをしています。Azure Search .NET SDKの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");
この
は私がカスタムアナライザを設定する前細かい作業だったが、今私は私の設定、アナライザ、トークナイザでカスタムアナライザを持っている、とTokenFiltersが正しいタイプに解決されていないこと。すなわち、私のカスタムアナライザーは、Microsoft.Azure.Search.Models.CustomAnalyzerの代わりにMicrosoft.Azure.Search.Models.Analyzerとしてデシリアライズされています。トークンフィルターとトークンフィルターも同じですが、それらは基本タイプにデシリアライズされています。jsonファイルから.NET SDKにこのようなインデックスを作成する簡単な方法はありますか?
サポートされるJSONを生成する回避策を見つけることができました。 .NET SDKを使用して既存のインデックス(REST APIで作成)をフェッチし、Newtonsoftを使用してTypeNameHandling.All JsonSerializer設定を使用してJSONに変換しました。これにより、 "$ type"プロパティに注釈付きの型情報を持つJSONファイルが生成されました。以前のJSONファイルをこのファイルに置き換えました。このSDKファイルから.NET SDKでインデックスを生成でき、すべての正しいタイプが適用されます。ご回答有難うございます。 – pantryfight