如何通过OpenSearch.Client按过滤后的嵌套文档实现排序?
如何用OpenSearch.Client实现按过滤后的嵌套文档排序
我需要通过OpenSearch.Client实现按过滤后的嵌套文档排序,需求与ElasticSearch的NEST对应场景完全一致,但OpenSearch.Client提供的选项有所不同,目前没找到过滤嵌套对象的相关功能。
我的目标排序逻辑对应的JSON查询如下:
"sort": [ { "copies.creationDate": { "order": "desc", "nested" : { "path" : "copies", "filter" : { "term" : {"copies.idOwnedByGroup" : 1} } } } }, { "idDocument": { "order": "desc" } } ],
我尝试了两种写法,但都无法指定嵌套对象的过滤条件,也没找到其他可用方法:
- 写法一:
.Sort(sort => { return sort.Field(d => d.Copies.First().CreationDate, SortOrder.Descending).Field(d => d.IdDocument, SortOrder.Descending) }
- 写法二:
.Sort(sort => { return sort.Descending(d => d.Copies.First().CreationDate).Descending(d => d.IdDocument); }
不过在OpenSearch Dashboards中使用上述JSON查询是可以实现该需求的,想请教:我是否遗漏了某些配置?还是该功能暂不被OpenSearch.Client支持?
内容的提问来源于stack exchange,提问作者user2173353
相关产品推荐
相关产品推荐

