gpt4 book ai didi

java - Hibernate 搜索 IndexedEmbedded 内存不足

转载 作者:太空宇宙 更新时间:2023-11-04 13:45:50 24 4
gpt4 key购买 nike

我有两个实体(entityA和entityB),一个实体包含另一个带有@IndexedEmbedded的实体,因为当我搜索时,我也想通过entityB查询,并返回entityA。

关系(简化)如下:

public class EntityA {
private String name;

@OneToMany
@IndexedEmbedded
private List<EntityB> children;
}

public class EntityB {
@ManyToOne
@ContainedIn
private EntityA parent;

private String childName;
}

我现在遇到问题,因为相对而言,entityA 中的“子项”最多可以有 100k 个项目。无论我使用 FullTextSession.index 还是 MassIndexer,这都会导致 OutOfMemory 问题。

我实际上可以删除 EntityA 中的 @OneToMany 映射,因为当我想要访问 EntityB 时,我通常会进行一些过滤和分页的查询,但如果我删除 @OneToMany,那么 Hibernate Search 将不会索引我的 EntityB。

是否有办法让 FullTextSession.index 对“子项”进行基于批处理的索引?

最佳答案

我觉得你应该删除像一对多和多对一这样的关系,并编写一个联接查询来获取所需大小的结果,获取 100k 行会杀死内存。

谢谢,子哈希

关于java - Hibernate 搜索 IndexedEmbedded 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com