在ElasticSearch NEST查询中返回Raw Json

jac*_*per 7 json.net elasticsearch servicestack nest

我正在对.net中的弹性搜索客户进行一项小型研究,我发现NEST是此问题最受支持的解决方案之一.

我正在查看Nest的文档,我找不到从查询中输出原始json并避免序列化为对象的方法,因为我在前端使用angularJs我不想重载过程通过一些不必要的步骤将信息发送给客户端.

......而且我想知道我怎样才能超越序列化过程?

我发现NEST使用Json.NET,我想为servicestack json serielizer更改.

谢谢!

Mar*_*man 9

嗨佩德罗你可以用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);
Run Code Online (Sandbox Code Playgroud)

这允许您强烈地键入您的查询,但是将.Result来自elasticsearch的原始响应的字符串作为字符串返回到您的

request 可以是一个对象或字符串,所以如果你对内部json序列化没问题,只需直接传递searchDescriptor