Tec*_*ead 5 c# elasticsearch nest
有没有办法通过 Nest 对 ElasticSearch 中的 Client.Search 和 Client.Count 重用流畅的查询?
这是定义搜索流畅定义的片段的开头。
System.Func<SearchDescriptor<Documents.City>, ISearchRequest> x = s =>
s.Index(IndexNames.Cities).From(0)
.Size(100)
.Query(q => q.Bool(.....
Run Code Online (Sandbox Code Playgroud)
计数的更改将是 SearchDescriptor -> CountDescriptor 和 ISearchRequest -> ICountRequest。似乎查询需要编写两次,因为如果不预先了解所使用的类型,流畅的标记将无法编译。
基本问题是,是否有任何简洁的可维护方法来使用 Nest 查询来执行搜索和计数请求?
与其重用搜索部分,不如尝试使用查询:
Func<QueryContainerDescriptor<T>, QueryContainer> query =
q => q.MatchAll();
var searchResponse = await ElasticClient().SearchAsync<T>(s => s
.Query(query));
var countResponse = await ElasticClient().CountAsync<T>(s => s.Query(query));
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |