有没有办法通过 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(.....
计数的更改为 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));
希望有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)