0

我正在为 Elasticsearch 使用 spring-data 3.x。

下面是学生索引

{
"_index": "student",
"_type": "_doc",
"_id": "100",
"_version": 1,
"_score": 1,
"_source": {
"id": 100,
"studentName": "aaa",
"fatherName": "bbb",
"mobileNumber": "111111",
"address": "#77"
}
}

以下是课程索引

{
"_index": "course",
"_type": "_doc",
"_id": "200",
"_version": 1,
"_score": 1,
"_source": {
"id": 200,
"courseName": "course",
"duration": "2 Months",
"fee": "5000",
"description": "dd,ddd",
**"studentId": 100**
}
}

我想实现搜索。

  1. 通过字符串“course”搜索,它会返回匹配 course.studentId =student.id 的课程信息和学生信息。

  2. 按字符串“aaa”搜索。因为它不存在于课程中但存在于学生中,但它应该再次只寻找与课程匹配的学生。

从我的前端,我正在显示课程以及学生信息,并且有搜索字段,可以搜索任何内容。所以我希望它首先查找课程,然后查找匹配学生并返回数据课程和学生。

输出应该像

{
"_index": "course",
"_type": "_doc",
"_id": "200",
"_version": 1,
"_score": 1,
"_source": {
"id": 200,
"courseName": "course",
"duration": "2 Months",
"fee": "5000",
"description": "dd,ddd",
"student": {
"id": 100,
"studentName": "aaa",
"fatherName": "bbb",
"mobileNumber": "111111",
"address": "#77"
}
}
4

0 回答 0