在Nest C#中使用AND运算符为查询DSL创建lambda表达式(弹性搜索)

时间:2016-05-25 13:45:52

标签: c# elasticsearch nest elasticsearch-net

我有查询DSL

{"query":
{
  "match" : {
    "_all" : {
        "query" : "elastic search document",
        "operator" : "and"
     }
  }
 }
}

将它转换为lambda表达式,但不知道在查询中给运算符AND的位置。

 var queryResult = this.client.Search<dynamic>(d =>
             d.AllIndices()
             .AllTypes().Query(q => q.Match(m=>m.Query(queryTerm))));

1 个答案:

答案 0 :(得分:0)

您可以在MatchQueryDescriptor<T>上找到它(传递给m的lambda中的Match()参数)

var queryResult = client.Search<dynamic>(d => d
    .AllIndices()
    .AllTypes()
    .Query(q => q
        .Match(m => m
            .Query(queryTerm)
            .Operator(Operator.And)
        )
    )
);