繁体   English   中英

在Nest(Elasticsearch)中,如何获取索引的原始json映射?

[英]In Nest (Elasticsearch), how can I get the raw json mapping of an index?

我想检查当前映射(如在C#代码中)和elasticsearch索引中的映射之间的差异。

仅使用:

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

我在C#中得到GetMappingResponse对象,我将不得不逐字段比较相等性。 更糟糕的是,每个字段都有其自己的属性,我必须深入研究这些属性以进行进一步的比较。

在我的应用程序中,我更喜欢获取映射的原始json,并且我可以轻松地对两个json对象进行比较以实现相等性。

然后我尝试了这个:

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

但是当我阅读res.Response ,我得到了AmbiguousMatchException异常。

当您连接到Elasticsearch时,您可以选择公开原始响应,如下所示:

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

然后,您应该能够通过以下方式访问原始json:

var json = res.ConnectionStatus.ResponseRaw;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM