弹性搜索父子查询

问题描述

我有一个用于存储课程详细信息的以下索引(为简洁起见,我已将某些属性删节了):

{
  "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_per_user 用户可以完成课程的次数。允许用户多次访问一门课程,但最多不能超过 max_per_user event_current_count 跟踪用户完成课程的次数。 父文档将具有字段-name,id和max_per_user。 子文档将具有 event_user_id event_current_count 的值。 如何构造搜索查询获取所有父文档,即给定user_id的课程,其中event_current_count<max_per_user。基本上,我有一个user_id,对于该用户,我想查找该用户仍然有资格查看它们的所有课程,因为event_current_count

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...