如何打印 SearchRequest

How to print SearchRequest

我正在尝试验证过滤器生成逻辑,因此我有一个 SearchRequest 实例,但如何获取它的字符串表示形式?

我没有 SearchResponse,只有 SearchRequest,因为我只是在测试中捕获它。

不会将 "Can't convert from NestSearchRequest" 编译为 byte[]。 This 也不起作用,Nest 中没有客户端 class 并且 ElasticClient 没有 Serializer 属性 (Nest 1.6.0/Elasticsearch 1.6.1).

这是一个完整的示例,说明如何使用 NEST 1.6.0

获取查询的 json 表示
void Main()
{
    var client = new ElasticClient(connection: new InMemoryConnection());

    var query = Query<Document>.Match(m => m
        .OnField(f => f.Name)
        .Query("Match This Name")
    );

    var json = Encoding.UTF8.GetString(client.Serializer.Serialize(query));

    Console.WriteLine(json);
}

public class Document
{
    public string Name { get; set; }
}

将以下内容打印到控制台

{
  "match": {
    "name": {
      "query": "Match This Name"
    }
  }
}