Lucene: Welche Annotationen sind nötig, damit ein Ecore-Model die Java Klasse für Lucene mit Hibernate indexiert?

Diese drei:

  • org.hibernate.search.annotations.Indexed
  • org.hibernate.search.annotations.DocumentId
  • org.hibernate.search.annotations.Field

Die @Indexed annotation markieren, dass die Entitys indiziert
werden sollen.

Das Attribut ID der Entity muss mit @DocumentId annotiert werden, damit Hibernate
Search ein Mapping zwischen Dokumenten im Index und Entitys in der Datenbank herstellen kann.

Und die @Field annotation. Mit diesem Parameter kann angegeben werden, wie das Feld heißen soll und wie es indiziert werden soll und ob der Inhalt in Tokens zerlegt werden soll oder nicht, und ob der Inhalt auch im Index gespeichert werden soll, welche Filter und Analyzer für das Feld verwendet werden sollen.

Im ecore Modell:
ecore-anno

Ergebnis in der generierten Java Klasse:
ecore-klasse

Ecore: Wie kann ein Java Attribut für die Hibernate Suche im Ecore Modell annotiert werden?

Wie kann in einer Java Klasse ein Attribut für die Hibernate-Suche wie folgt annotiert werden?

Dazu folgende EAnnotation als Value mit den voll qualifizierter Namen einfügen, damit auch die imports aufgelöst werden können

ecore value

ecore annotation

Und für die Maven pom.xml, den folgenden Eintrag, damit die Hibernate Klassen auch gefunden werden können: