我正在对 .net 中的 Elasticsearch 客户端进行小型研究,我发现 NEST 是解决此问题最受支持的解决方案之一。
我正在查看 Nest 的文档,但我找不到一种方法来从查询中输出原始 json 并避免序列化为对象,因为我在前端使用 angularJs 我不想重载通过一些不必要的步骤将信息发送给客户端的过程。
......我还想知道如何覆盖序列化过程?
我发现 NEST 使用 Json.NET,我想将其更改为 servicestack json 序列化器。
谢谢!
最佳答案
嗨,佩德罗,你可以用 NEST 做到这一点
var searchDescriptor = new SearchDescriptor<ElasticSearchProject>()
.Query(q=>q.MatchAll());
var request = this._client.Serializer.Serialize(searchDescriptor);
ConnectionStatus result = this._client.Raw.SearchPost(request);
Assert.NotNull(result);
Assert.True(result.Success);
Assert.IsNotEmpty(result.Result);
这允许您强类型查询,但返回字符串 .Result
这是 elasticsearch 作为字符串对您的原始响应
request
可以是对象或字符串,所以如果您对内部 json 序列化没有问题,只需直接传递 searchDescriptor
关于elasticsearch - 在 ElasticSearch NEST 查询中返回原始 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751970/