在 ElasticClient 中设置 RequestResponseSerializer
Set the RequestResponseSerializer in ElasticClient
我们在最近更新的 Elasticsearch (https://github.com/elastic/elasticsearch-net/issues/1937) 中发现了这个问题。
我们在创建客户端连接时设置了 SourceSerializer,但这似乎没有帮助。
在调试中,我看到 RequestResponseSerializer
默认为 Nest.InternalSerializer
。当我们需要 DateTimeOffset
时,这个 JSON 序列化程序将 DateParseHandling
字段设置为 DateTime
。我怀疑这可能是我的问题的原因。
有没有办法设置RequestResponseSerializer
来验证我的理论?
补充:我能够通过直接更改 NEST 代码来验证我的上述理论。我编辑了 InternalSerializer::CreateSettings()
方法以包含 DateParseHandling = DateParseHandling.DateTimeOffset
并解决了问题。
现在如何在不直接修改 NEST 代码的情况下 set/modify RequestResponseSerializer
这个值...
原来我的问题和 https://github.com/elastic/elasticsearch-net/issues/3164 and seemed to be fixed in v6.2.0 (https://github.com/elastic/elasticsearch-net/pull/3278) 一样。
我是运行 v6.1.0
已将我的版本升级到 v6.3.1,一切正常。
我们在最近更新的 Elasticsearch (https://github.com/elastic/elasticsearch-net/issues/1937) 中发现了这个问题。
我们在创建客户端连接时设置了 SourceSerializer,但这似乎没有帮助。
在调试中,我看到 RequestResponseSerializer
默认为 Nest.InternalSerializer
。当我们需要 DateTimeOffset
时,这个 JSON 序列化程序将 DateParseHandling
字段设置为 DateTime
。我怀疑这可能是我的问题的原因。
有没有办法设置RequestResponseSerializer
来验证我的理论?
补充:我能够通过直接更改 NEST 代码来验证我的上述理论。我编辑了 InternalSerializer::CreateSettings()
方法以包含 DateParseHandling = DateParseHandling.DateTimeOffset
并解决了问题。
现在如何在不直接修改 NEST 代码的情况下 set/modify RequestResponseSerializer
这个值...
原来我的问题和 https://github.com/elastic/elasticsearch-net/issues/3164 and seemed to be fixed in v6.2.0 (https://github.com/elastic/elasticsearch-net/pull/3278) 一样。
我是运行 v6.1.0
已将我的版本升级到 v6.3.1,一切正常。