You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 18:12:07