私の Grails アプリには、Searchable プラグインによってインデックス付けされた次のドメイン クラスがあります。
class Foo implements Serializable {
BookletCategory bookletCategory
Date lastUpdated
static hasMany = [details: BookletRootDetail]
static searchable = {
bookletCategory component: true
id name: 'bookletRootId'
lastUpdated index: 'no'
}
}
このクラスのインスタンスを取得すると、データベースに詳細インスタンスが存在する場合でも、詳細プロパティは常に null になります。私の結論は、詳細フィールドが Lucene インデックスに格納されていないということです。検索可能なクロージャーに以下を追加して、検索可能なプロパティにせずに、このフィールドをインデックスに追加しようとしました。
details index: 'no'
ただし、これは lastUpdated などの単純なプロパティに対してのみ有効なようです。インデックスから Foo のインスタンスを取得するときに、このプロパティが設定されていることを確認する方法はありますか? 理想的には、実際に詳細を検索可能なフィールドにせずにこれを行いたいですか?