如何使用 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.Net
的 low level client 实例。
如果改用 NEST 的高级客户端,一切都会好起来的
var elasticClient = new ElasticClient();
在内部,NEST 使用低级客户端,这就是 Elasticsearch.Net
作为依赖项引入的原因。
我有默认设置的 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.Net
的 low level client 实例。
如果改用 NEST 的高级客户端,一切都会好起来的
var elasticClient = new ElasticClient();
在内部,NEST 使用低级客户端,这就是 Elasticsearch.Net
作为依赖项引入的原因。