【发布时间】:2022-05-17 02:42:23
【问题描述】:
我正在从客户端获取输入以使用 NEST 构建弹性搜索查询。我从基础开始,如下所示:
var search = esClient.Search<MyData>(s => s
.From(pageNum * pageSize)
.Take(pageSize)
.QueryRaw(@"{""match_all"": {} }")
然后我解析请求并查看是否传入了可选的排序参数。如果是,我创建一个新的SearchDescriptor<MyData>() 来执行请求的排序,我想将它添加到我原来的search 标准.显然.Search()实际上会执行一个HTTP调用,所以它不可能像今天这样发生,但是我怎样才能将一系列SearchDescriptor调用粘在一起,然后在最后执行搜索呢?
【问题讨论】:
-
您能否描述一下您希望纳入搜索的参数类型? ES 和 Nest 允许您在调用中添加大量自定义内容,需要更多信息来了解您希望实现的内容。
-
@DanielHoffmann-Mitscherling 好吧,用户将传入一个查询字符串供我们放入
QueryRaw,但也将(可选)传入一个单独的字符串,表示要排序的字段,和一个单独的字符串,表示排序顺序(asc/desc)。最后,分面类型和分面内容。
标签: c# elasticsearch nest