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实现并使用了它。