@Document(indexName = "test", type = "author")
public class Author {
private String authorId;
private List<Book> books;
}
@Document(indexName = "test", type = "book")
public class Book {
private String bookId;
}
当我保存作者时使用spring data elasticsearch我想将Book保存在不同的实体而不是子文档中。有可能吗?
答案 0 :(得分:0)
是的,但您需要存储图书ID而不是图书实体。非关系数据存储不支持RDB等外键。
@Document(indexName = "test", type = "author")
public class Author {
private String authorId;
private List<String> bookIds;
}
此外,这本书并没有与作者一起编入索引。如果您尝试搜索“#34;作者写一本具有特定标题的图书&#34;”,那么您将受到性能损失,而如果您嵌套,ES将索引author.book.title。
有一个很好的解释