2016-02-22 41 views
2

嗨我新来Elasticsearch我有卷曲简单匹配查询到C#巢

GET /index/type/_search 
{ 
    "query": { 
     "match": { 
      "TextID": "WT" 
     } 
    } 
} 

我想将它转换为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") 
         ))); 

请帮忙。

回答

5

创建一个类来表示存储在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") 
     ))); 
+1

嘿,感谢兄弟工作,但有没有其他方式没有创建一个类?等待您的回复bro – Dipesh

+1

您可以尝试使用'.Search (..)',希望它能帮助兄弟。 – Rob