Java 如何在Hibernate搜索中索引一组UUID?
我的应用程序中有一个实体,上面有一个Java 如何在Hibernate搜索中索引一组UUID?,java,lucene,indexing,uuid,hibernate-search,Java,Lucene,Indexing,Uuid,Hibernate Search,我的应用程序中有一个实体,上面有一个集合,我想对它进行索引 到目前为止,我已经尝试将@IndexEmbedded、@Field和@FieldBridge(它接受UUID,而不是集)注释放在集上,但没有效果。Hibernate搜索文档都显示索引Set,其中X是另一个实体,其上有用于索引的注释 我正在测试它是否出现在索引中,方法是在Netbeans中设置一个断点,并使用Luke手动检查磁盘上的lucene索引,以排除编写错误的查询。其他字段正在被很好地索引,并使用此方法显示在索引中 我现在使用的是H
集合
,我想对它进行索引
到目前为止,我已经尝试将@IndexEmbedded
、@Field
和@FieldBridge
(它接受UUID,而不是集
)注释放在集
上,但没有效果。Hibernate搜索文档都显示索引Set
,其中X
是另一个实体,其上有用于索引的注释
我正在测试它是否出现在索引中,方法是在Netbeans中设置一个断点,并使用Luke手动检查磁盘上的lucene索引,以排除编写错误的查询。其他字段正在被很好地索引,并使用此方法显示在索引中
我现在使用的是HibernateSearch3.4,因为它是旧应用程序的一部分,不容易升级
有人能解释一下情况吗?我开始怀疑这是不受支持的,最快的方法将是从Set
更改为Set
,其中Y
是一个实体,它简单地包装UUID
进行索引,或者编写一个特定的字段桥来处理Set
您不需要@IndexedEmbedded,但是你需要一个定制的桥。像这样的方法应该会奏效:
@Field(bridge = @FieldBridge(impl = UUIDFieldBridge.class))
private Set<UUID> uuids;
@Field(bridge=@FieldBridge(impl=UUIDFieldBridge.class))
私有集uuid;
听起来你好像已经试过这样的东西了。那座桥连电话都没打吗?是否存在异常?您不需要@IndexedEmbedded,但需要一个自定义桥。像这样的方法应该会奏效:
@Field(bridge = @FieldBridge(impl = UUIDFieldBridge.class))
private Set<UUID> uuids;
@Field(bridge=@FieldBridge(impl=UUIDFieldBridge.class))
私有集uuid;
听起来你好像已经试过这样的东西了。那座桥连电话都没打吗?有例外吗?我最终做了一个自定义Set
bridge实现并使用了它。我最终做了一个自定义Set
bridge实现并使用了它。