简单匹配查询到C#Nest

Dip*_*esh 4 c# lambda elasticsearch nest elasticsearch-net

嘿伙计们,我是Elasticsearch的新手,我有cURL

GET /index/type/_search
{
    "query": {
        "match": {
            "TextID": "WT"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将它转换为lambda表达式C#.我设法构建了一些代码,但它抛出了运行时异常.

var searchQID = client.Search<string>(sd => sd
                     .Index("index")
                     .Type("type")
                     .Size(10000)
                     .Query(q => q
                        .Match(m => m.OnField("TextID").Query("WT")
                        )));
Run Code Online (Sandbox Code Playgroud)

请帮忙.

Rob*_*Rob 10

创建一个类来表示存储在elasticsearch中的文档,并将其用作Search方法中的通用参数.

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

var searchResponse = client.Search<Document>(sd => sd
    .Index("index")
    .Type("type")
    .Size(10000)
    .Query(q => q
        .Match(m => m.Field("TextID").Query("WT")
        )));
Run Code Online (Sandbox Code Playgroud)

  • 你可以尝试`.Search <dynamic>(..)`,希望它有助于兄弟. (3认同)