c# - 选择具有特定数量的嵌套文档项目的文档

标签 c# .net elasticsearch nested nest

我有结构(事件是嵌套的文档):

{
  "id": 1,
  "events": [
    {
      "id": 1,
      "date": "<date 1>"
    },
    {
      "id": 2,
      "date": "<date 2>"
    },
    {
      "id": 4,
      "date": "<date 3>"
    }
  ]
}
...

使用Elasticsearch.Net和NEST,如何进行查询以选择事件数超过特定数字的文档?

最佳答案

注意脚本很慢,如果您有很多文档,最好设置一个field =事件数并对其进行请求。

QueryContainer filterContainer = null;
    filterContainer &= Query<YOURTYPE>.Script(s =>
                    s.Inline("params._source.events.size() > YOURNUMBER"));

    Client.Search<YOURTYPE>(s => s
                                .MatchAll()
                                .Size(10000)
                                .Query(q => q.Bool(b => b.Must(filterContainer )))

关于c# - 选择具有特定数量的嵌套文档项目的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279056/

相关文章:

c# - 为什么我的动态样式表 url 在 MVC 中不起作用?

c# - 非泛型中 'default' 关键字的用途和用途

c# - 从嵌套类访问封闭类中的字段的最佳方法是什么?

elasticsearch - Elasticsearch 中两个日期之间的范围

ElasticSearch:使用多个加权函数进行排名;使用 random_score 时,其他功能将被忽略

c# - 使用变量调用方法

c# - 来自 Streamcoders 的 RTP.NET

c# - Bitmap.Save 在几个小时后停止工作

c# - 3d 动画 - WPF 或 XNA

scala - 当结果文档缺少字段时,Elastic4s搜索案例类示例错误