2016-02-22 7 views
2

Эй, ребята, я новый в Elasticsearch у меня есть CurlПростой запрос матч C# Nest

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

Смежные вопросы