如何打印 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"
}
}
}
我正在尝试验证过滤器生成逻辑,因此我有一个 SearchRequest 实例,但如何获取它的字符串表示形式?
我没有 SearchResponse,只有 SearchRequest,因为我只是在测试中捕获它。
这是一个完整的示例,说明如何使用 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"
}
}
}