ElasticSearch父子查询

yptwkmov  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(221)

我有一个存储课程详细信息的索引(为了简洁起见,我截断了一些属性):

{
  "settings": {
    "index": {
      "number_of_replicas": "1",
      "number_of_shards": "1"
    }
  },
  "aliases": {
    "course": {

    }
  },
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "id": {
        "type": "integer"
      },
      "max_per_user": {
        "type": "integer"
      },
      "event_user_id": {
        "type": "integer"
      },
      "event_current_count": {
        "type": "integer"
      },
      "course_event": {
        "type": "join",
        "relations": {
          "course": "event"
        }
      }
    }
  }
}

这里的max\ u per\ u user是用户可以完成课程的次数。一个用户可以多次通过一个课程,但每个用户最多只能通过一个课程。事件\当前\计数跟踪用户完成课程的次数。父文档将有字段-name、id和max\u per\u user。子文档将具有event\u user\u id和event\u current\u count的值。如何构造搜索查询以获取给定用户id的所有父文档(即课程) event_current_count<max_per_user . 基本上,我有一个用户id,对于该用户,我希望找到所有用户仍有资格查看的课程,因为event\u current\u count<max\u per\u user

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题