3

現在のマッピング (C# コードなど) と Elasticsearch インデックスのマッピングとの不一致を確認したいと考えています。

のみ:

var res = esClient.GetMapping<EsCompany>();

私は c# でオブジェクトを取得GetMappingResponseします。等しいかどうかをフィールドごとに比較する必要があります。さらに悪いことに、各フィールドには独自のプロパティがあり、さらに比較するためにそれらのプロパティに降りる必要があります。

私のアプリケーションでは、マッピングの未加工の json を取得することを好み、2 つの json オブジェクトを簡単に比較して同等性を確認できます。

次に、これを試しました:

var res = esClient.Raw.IndicesGetMapping(myIndexName);

しかし、 を読むres.Responseと、AmbiguousMatchException例外が発生します。

4

1 に答える 1

5

Elasticsearch に接続すると、次のような生の応答を公開することを選択できます。

var client = new ElasticClient(new ConnectionSettings().ExposeRawResponse());

次に、次の方法で生のjsonにアクセスできるはずです。

var json = res.ConnectionStatus.ResponseRaw;
于 2015-07-25T12:37:47.263 に答える