假设我有两个名为Standard
和Student
的班级。 Student
class“的实例具有对Standard
实例的引用。 Student
的依赖关系为Standard
。
public class Student{
@id
private String id;
private String name;
private Standard standard;
}
public class Standard{
@Data
@id
private String id;
}
现在我需要以Student
的index-name应为Standard.getId()的方式索引对象Student
。
@Document(indexName = ${Standard.getId()}, type = "section", shards = 1, replicas = 0)
public class Student{
@id
private String id;
private String name;
private Standard standard;
}
public class Standard{
@Data
@id
private String id;
}
Standard
就像一个唯一的标识符,它将所有正在阅读该标准的类似@Students组合在一起。请告知是否可以在运行时声明文档名称,这只是该文档本身的字段。
当我在该标准索引中搜索任何学生的名字时,它将仅使用该索引名称进行搜索。同一名学生可以阅读多个标准\类。
更新:我的目的是什么?
我这样做是因为限制搜索并获得快速搜索。如果我在学校只有一个学生索引,而我正在按姓名和标准/班级搜索特定学生,那么可能需要很长时间才能回复。因此,我想在标准级别创建索引,因此搜索速度很快。实际上,在课堂上搜索学生比在整个学校级别更容易。如果我错了,请纠正我。