如何使用 NEST API 搜索数据?

How to search data by using NEST API?

我有默认设置的 ElasticSearch 客户端。

elasticClient = new ElasticLowLevelClient();

我还有一个简单的 post 实体。

[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, "Whosebug")
    )
);

但我认为 ES API 已更改。第一个参数应该是 PostData。这就是为什么我不知道我的查询应该是什么样子的原因。

我的 ElasticSearch 版本是 2.3.5 NEST 版本为 5.0.1

也许我需要较低版本的 NEST?

您正在实例化来自 Elasticsearch.Netlow level client 实例。

如果改用 NEST 的高级客户端,一切都会好起来的

var elasticClient = new ElasticClient();

在内部,NEST 使用低级客户端,这就是 Elasticsearch.Net 作为依赖项引入的原因。