gpt4 book ai didi

java - @indexedEmbedded 的 includePaths 属性在放置在嵌套实例字段上时不会创建索引

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

使用以下版本进行 hibernate 搜索:

  • hibernate-core-4.2.0.Final.jar
  • hibernate-search-engine-4.4.2.Final.jar
  • hibernate-search-analyzers-3.3.0.Final.jar
  • hibernate-search-orm-4.4.2.Final.jar
  • lucene-core-3.6.2.jar

在放置实例的实例时,我遇到了 @indexedEmbedded 注释的 includePaths 属性问题。例如:(假设所有字段都有适当的 getter/setter)

根类:

@Indexed
public class RootClass {

@IndexedEmbedded
private Set<Instance> setOfInstances;

}

实例类:

public class Instance {

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String name;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String vesion;

@IndexedEmbedded(includePaths={"type", "location", "users.name", "users.country"})
private InstanceDetail deltail;
}

InstanceDetail 类:

public class InstanceDetail{

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private int type;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String location;

@IndexedEmbedded
private Set<User> users;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String ref1;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String ref2

@IndexedEmbedded
private Set<Area> usersArea;
}

用户类别:

public class User{
@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String name;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String address;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String mobile;

@Field(index = Index.YES, analyze = Analyze.YES, norms = Norms.NO, store = Store.NO)
private String country;
}

因此,当我在 InstanceDetail 上定义 IndexedEmbedded 注释的 includePaths 属性时Instance,然后 InstanceDetailNO 字段(其他字段如 name/vesion)正在为 RootClass 对象建立索引。 (通过日志确认)。没有任何异常(exception)。

所以这是按照 HibernateSearch 的设计或我的实现中磨损的东西。

最佳答案

它应该可以工作,但您可能会遇到与 https://hibernate.atlassian.net/browse/HSEARCH-1112 相关的错误

关于java - @indexedEmbedded 的 includePaths 属性在放置在嵌套实例字段上时不会创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466779/

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