我正在尝试验证过滤器生成逻辑,所以我有一个SearchRequest实例,但是如何获取它的String表示?
我没有SearchResponse,只有SearchRequest,因为我只是在我的测试中捕获它。
This无法编译“无法从NestSearchRequest转换”到byte []。 This也不起作用,Nest中没有Client类,ElasticClient没有Serializer属性(Nest 1.6.0 / Elasticsearch 1.6.1)。
答案 0 :(得分: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"
}
}
}