我的应用程序中有一个实体,上面有Set<UUID>
,我想索引。
到目前为止,我已尝试在@IndexEmbedded
上添加@Field
,@FieldBridge
和Set<UUID>
(其中包含UUID,而不是Set<UUID>
)注释没有效果。 Hibernate Search文档都显示索引Set<X>
,其中X
是另一个具有索引的注释实体。
我正在测试是否通过在Netbeans中设置断点并使用Luke手动检查磁盘上的lucene索引来查看它是否在索引中出现,以排除编写不正确的查询。其他字段被编入索引,并使用此方法显示在索引中。
我目前正在使用Hibernate Search 3.4,因为它是较旧应用程序的一部分,无法轻松升级。
任何人都可以了解情况吗?我开始怀疑这不受支持,最快的方法是从Set<UUID>
更改为Set<Y>
,其中Y
是一个简单包装UUID
的实体索引或编写特定FieldBridge
来处理Set<UUID>
。
答案 0 :(得分:1)
您不需要 @IndexedEmbedded ,但您需要一个自定义网桥。这样的事情应该有效:
@Field(bridge = @FieldBridge(impl = UUIDFieldBridge.class))
private Set<UUID> uuids;
听起来你已经尝试过这样的事了。这座桥甚至没有被召唤?有例外吗?