如何在父对象中存储整个子对象?

ckx4rj1h  于 2021-07-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(420)

我正在尝试将数据插入elasticsearch。我有这样的java类,

public class Common {

    @Id
    private String id;
}

public class Student extends Common {

    private String name;
    private String phone;
    private String password;
}

@Document(indexName = "table")
public class Table extends Common {

    @Field(type = FieldType.Auto, includeInParent = true)
    private Student student;

    private String attends;
}

我需要的是,我需要储存 Student 内部数据(完整数据对象) Table elasticsearch中的对象 table 索引。我不想将student单独存储为另一个索引。相反,我需要将数据也存储在表中。我试过很多方法包括 nested and object field types . 但他们都没有工作。它不是完整的 student 对象内部 Table 对象。它只是插入 id 学生的名字。
那我怎么才能做到呢?如何在表对象中存储学生对象。有人能帮我吗?提前谢谢。

bybem2ql

bybem2ql1#

将属性定义为 @FieldType.Object :

@Document(indexName = "table")
public class Table extends Common {

    @Field(type = FieldType.Object)
    private Student student;

    private String attends;
}

相关问题