14.2.4.2.5. FieldBridge
場合によっては、プロパティーを Lucene インデックスにマッピングするときに、単純なオブジェクトから文字列への変換が必要になります。可能な限り柔軟性を持たせるために、
FieldBridge としてブリッジを実装することもできます。このインターフェースは、プロパティーの値を提供し、Lucene Document 内で希望する方法でマッピングできるようにします。たとえば、プロパティーを異なるドキュメントフィールドに保存できます。インターフェースの概念は Hibernate UserType と非常に似ています。
例14.28 FieldBridge インターフェイスの実装
の例14.28「FieldBridge インターフェイスの実装」フィールドはドキュメントに直接追加されません。代わりに、追加が
LuceneOptions ヘルパーシステムに委任されます。このヘルパーは、Store や TermVector などの @Fieldで選択したオプションを適用するか、選択した @Boost 値を適用します。COMPRESS 実装の複雑性をカプセル化することは特に便利です。Document にフィールドを追加するために LuceneOptions に委譲することが推奨されますが、必要であれば、Document を直接編集して、LuceneOptions を無視しても問題ありません。
注記
LuceneOptions などのクラスは、アプリケーションを Lucene API の変更から保護し、コードを簡素化するために作成されます。可能な場合はこれを使用しますが、さらに柔軟性が必要な場合は、使用しなくても問題ありません。