修改Nest和Elastic Search的serializersettings

时间:2013-11-04 19:35:28

标签: elasticsearch json.net nest

我正在尝试更改Newtonsoft在使用Nest来序列化对象时处理自引用循环的方式。我正在使用Newtonsoft.Json 4.5.11并且我坚持使用该版本,Nest是版本0.11.7.0并且我使用的代码片段是

var searchBoxUri = new Uri("Url");

var elasticSettings = new ConnectionSettings(searchBoxUri)
    .SetDefaultIndex("sample");

elasticSettings.SetJsonSerializerSettingsModifier(s => {
    s.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});

var client = new ElasticClient(elasticSettings);

client.Index(currentPage);

使用此代码我在堆栈跟踪中得到以下异常

[JsonSerializationException: Self referencing loop detected with type 'some type'.]

那么,为什么客户端不使用我配置的设置或者我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:3)

这是0.11.7.0版本中的一个错误,经过一些重构,使序列化更加精简。

另见https://github.com/Mpdreamz/NEST/pull/382

将修复为0.11.8 / 0