1

アプリケーションにエンティティがあり、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>YUUIDFieldBridgeSet<UUID>

4

1 に答える 1

1

@IndexedEmbeddedは必要ありませんが、カスタム ブリッジが必要になります。このようなものが動作するはずです:

@Field(bridge = @FieldBridge(impl = UUIDFieldBridge.class))
private Set<UUID> uuids;

すでにこのようなことを試したようです。橋は呼ばれませんでしたか?例外はありましたか?

于 2013-06-12T08:30:49.850 に答える