gpt4 book ai didi

java - hibernate搜索将一个实体索引到两个不同的索引

转载 作者:行者123 更新时间:2023-12-01 16:23:53 24 4
gpt4 key购买 nike

我想根据情况将一个实体索引到不同的索引。

例如,如果我有一个如下所示的 Fruit 实体

@Indexed
public class Fruit {

@NumericField(forField = "id")
private Long id;

@Field(analyze = Analyze.NO)
private String name;
}

是否可以根据name值索引到不同的索引?

名称 =“苹果”->index_1

名称=“橙色”->index_2

最佳答案

首先,我建议您重新考虑是否真的需要这个。

如果每个“水果名称”的数据集完全不同(某些字段仅填充一个“水果名称”,或者对于一个“水果名称”其内容要大得多),那么它是有意义的。我个人会重新考虑类型层次结构,但这并不总是您可以控制的。话虽如此,请注意,目前您仍然必须对两个“水果名称”使用相同的映射(相同的字段);您将只有两个不同的索引,它们具有可能不同的低级设置(存储选项,...)。

如果每个“水果名称”的数据集相似(相同的字段、相似的内容、经常一起查询),则将它们拆分到两个索引中在功能上几乎没有什么收获:您只需要担心两倍备份时有很多文件等。您可能会获得性能改进,但通过调整 merge settings 也可以获得类似的结果。控制组成索引的段数。

如果您确实需要根据“水果名称”对数据进行分区...以下是具体操作方法。该功能称为“分片”:

Hibernate Search 6 在未来的更新中将拥有一个专门的功能,可以根据属性对单一类型的数据进行分区;请参阅HSEARCH-3683 。目前您只能使用路由/分片。

关于java - hibernate搜索将一个实体索引到两个不同的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62198789/

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