elasticsearch与有特定记录的孩子的父/子关系

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

我有一个家长/孩子的关系,学生有他们通过的科目。所以学生有很多科目。我想写一个查询,返回所有有“数学”和“英语”以及其他3门科目的学生。
我尽可能地剥离了许多财产,这样就不需要看太多了。基本上,学生在不同类型的考试之间有一种连接关系(“csecexam”、“citybuildexam”、“capexam”、“nctvetexam”)。
所有的考试都是不同的,因此有理由将它们存储为不同的孩子。csecexam有数学、英语和其他科目。nctvetexam是一个实用的认证。其他考试只是不同的认证。
我很想让学生有5个或更多的科目,数学和英语从csecexam和实践认证从nctvetexam和其他从csecexams使5个或更多的科目。

"student" : {
   "mappings" : {
     "_routing" : {
       "required" : true
     },
     "properties" : {                
       "id" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "student_id" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "candidateNo" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "centreName" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "centreNo" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "certificationName" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "examDate" : {
         "type" : "date"
       },        
       "firstname" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "surname" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
      },
       "institutionName" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "institutionType" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },        
       "joinField" : {
         "type" : "join",
         "eager_global_ordinals" : true,
         "relations" : {
           "student" : [
             "csecexam",
             "cityguildexam",
             "capeexam",
             "nctvetexam"
           ]
         }
       },
       "nctvetExamId" : {
         "type" : "integer"
       },
       "overallGrade" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "parent" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },        
       "proficiency" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "profile1Grade" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       },
       "subject" : {
         "type" : "text",
         "fields" : {
           "keyword" : {
             "type" : "keyword",
             "ignore_above" : 256
           }
         }
       }
     }
   }
 }
}

暂无答案!

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

相关问题