新しい Photo エンティティが入るたびに、Hibernate Search を使用して Lucene インデックスを自動的に更新しています。写真データが保存または編集されると、非常に迅速に自動的にインデックスに登録されます。ただし、コメントが追加されると、それは決して取り込まれません。そして、それはまさに@IndexedEmbedded/@ContainedIn
すべきことですよね?
私のコードはおおよそ次のとおりです。
@Indexed(index="/indexes/photo.index")
@Entity
public class Photo {
@IndexedEmbedded
@OneToMany(mappedBy="photo", fetch = FetchType.LAZY)
public List<Comment> comments;
}
@Indexed(index="indexes/comment.index")
@Entity
public class Comment {
@ContainedIn
@ManyToOne
public Photo photo;
@Field
public String text;
}
次の lib バージョンを使用しています。
hibernate-search-3.4.0.Final
lucene-core-3.6.0
lucene-analyzers-3.1.0
注: 2 つの注釈の順序を間違えたと言ってすぐにジャンプする人のために、逆の方法も試したと言いたいと思います。うまくいきません。