Category --*> product --*> reviews
@Data
@Builder[/span
@Document(indexName = "product-store")
public class Category {
private UUID id 。
private String name ;
private String description ;
@Field(type = FieldType.Nested, includeInParent = true)
private List<Product> products ;
}
@Data
@Builder
@ToString
@Document(indexName = "product-store")
public class Product {
@Id
private UUID id 。
private String name ;
private String description ;
private String ImageUrl ;
private Double price;
@Field(type = FieldType.Nested, includeInParent = true)
private List<ProductExperience> productExperience ;
}
@Data
@Builder
@Document(indexName = "product-store")
public class ProductExperience {
@Id
private UUID id 。
private String reviewTitle;
private String reviewBody;
private int rate ;
}
我正在使用spring data elastic,我為每個物體創建了一個存盤庫,我有點困惑,應該以什么順序來保存這三個物體,使它們被保存在同一個彈性檔案中:
。使用存盤庫的順序是否正確 :
- 創建并保存類別
- 創建并保存產品的類別串列 更新產品并進行審查。
uj5u.com熱心網友回復:
只有頂層類--Category--必須有@Document注解。
ad 1) 然后,您保存的類別物件包含了他們所有的產品,這些物件包含了所有的評論。
ad 2)一個產品沒有一個類別串列,它只有一個。或者你必須把它添加到不同的類別物件中,那么你將不得不在每個類別中多次冗余地存盤它
3)找到一個包含所有產品的類別物件,這些物件包含所有評論。
ad 3) 找到包含產品的類別物件,更新包含的產品,然后保存類別物件
。Elasticsearch不是一個關系型資料庫系統,所以它可能不是存盤資料的最佳解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/315186.html
標籤:
