我的应用程序中有一个实体,其中有 Set<UUID>
我想对其进行索引。
到目前为止,我已经尝试输入 @IndexEmbedded
, @Field
和@FieldBridge
(需要 UUID,而不是 Set<UUID>
) Set<UUID>
上的注释没有效果。 Hibernate Search 文档均显示索引 Set<X>
哪里X
是另一个实体,它具有用于索引的注释。
我正在通过在 Netbeans 中设置断点并使用 Luke 手动检查磁盘上的 lucene 索引来测试它是否出现在索引中,以排除编写错误的查询。使用此方法,其他字段可以正常索引并显示在索引中。
我目前使用的是 Hibernate Search 3.4,因为它是旧应用程序的一部分,无法轻松升级。
有人可以透露一下情况吗?我开始怀疑这不受支持,最快的方法是从 Set<UUID>
更改至Set<Y>
,其中Y
是一个简单包装 UUID
的实体用于索引,或编写特定的 FieldBridge
处理 Set<UUID>
.
最佳答案
您不需要@IndexedEmbedded,但您需要一个自定义桥。像这样的东西应该有效:
@Field(bridge = @FieldBridge(impl = UUIDFieldBridge.class))
private Set<UUID> uuids;
听起来你已经尝试过类似的事情了。连桥都没有接到电话吗?有异常(exception)吗?
关于java - 如何在 Hibernate 搜索中索引一组 UUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17041583/