2017-02-01 13 views
1

私はデフォルト設定のElasticSearchクライアントを持っています。NEST APIを使用してデータを検索するにはどうすればよいですか?

elasticClient = new ElasticLowLevelClient(); 

また、単純なポストエンティティがあります。

[ElasticsearchType(IdProperty = "Id", Name = "post")] 
    public class Post 
    { 
     [Number(Name = "id")] 
     public int Id { get; set; } 
     [Text(Name = "title")] 
     public string Title { get; set; } 
     [Text(Name = "description")] 
     public string Description { get; set; } 
    } 

私はESのマニュアルからの照会に類似しているクエリを実行します:

var searchResults = client.Search<Post>(p=>p 
    .From(0) 
    .Size(10) 
    .Query(q=>q 
     .Term(p=>p.Title, "stackoverflow") 
    ) 
); 

をしかし、私はESのAPIが変更されたと思います。最初の引数はPostDataでなければなりません。だから私は私のクエリがどのように見えるか分からない。

私ElasticSearchのバージョンは、NESTの2.3.5 バージョンですたぶん私はNESTの低いバージョンを必要と5.0.1

のですか?

答えて

1

low level clientのインスタンスをElasticsearch.Netからインスタンス化しています。

あなたはNESTからハイレベルのクライアントを使用するように変更すると、すべてがうまく

内部
var elasticClient = new ElasticClient(); 

なり、NESTはElasticsearch.Netが依存関係として持ち込まれる理由である、低レベルのクライアントを使用しています。

関連する問題