elasticsearch - 在 ElasticSearch NEST 查询中返回原始 Json

标签 elasticsearch servicestack json.net nest

我正在对 .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/

相关文章:

hadoop - 从存储在 HDFS 中的文档中提取数据以在 Elasticsearch 中建立索引

elasticsearch - 每天的文档数存储桶并应用了一些过滤器

c# - 在 Servicestack JsonServiceClient Get 方法上实现重试的最佳解决方案是什么?

xml - JSON.NET - 我可以提示要解析的 XML 类型吗?

azure - 为什么通过内存流上传 JSON 时 BlobClient.UploadAsync 会挂起?

elasticsearch - Elasticsearch 中的突破

elasticsearch - 有没有一种方法可以通过单个查询创建多个ElasticSearch索引

ServiceStack 6/api 路径导致所有服务出错

redis - ServiceStack.Redis.Sentinel 用法

c# - 将变量名设置为类型