{"id":5907,"date":"2015-08-01T05:15:13","date_gmt":"2015-08-01T03:15:13","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=5907"},"modified":"2021-11-22T17:14:28","modified_gmt":"2021-11-22T16:14:28","slug":"lucene-welche-annotationen-sind-noetig-damit-ein-ecore-model-die-java-klasse-fuer-lucene-mit-hibernate-indexiert","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=5907","title":{"rendered":"Lucene: Welche Annotationen sind n\u00f6tig, damit ein Ecore-Model die Java Klasse f\u00fcr Lucene mit Hibernate indexiert?"},"content":{"rendered":"<p>Diese drei:<\/p>\n<ul>\n<li>org.hibernate.search.annotations.Indexed<\/li>\n<li>org.hibernate.search.annotations.DocumentId<\/li>\n<li>org.hibernate.search.annotations.Field<\/li>\n<\/ul>\n<p>Die <strong>@Indexed<\/strong> annotation markieren, dass die Entitys indiziert<br \/>\nwerden sollen.<\/p>\n<p>Das Attribut ID der Entity muss mit <strong>@DocumentId<\/strong> annotiert werden, damit Hibernate<br \/>\nSearch ein Mapping zwischen Dokumenten im Index und Entitys in der Datenbank herstellen kann. <\/p>\n<p>Und die <strong>@Field<\/strong> annotation. Mit diesem Parameter kann angegeben werden, wie das Feld hei\u00dfen 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\u00fcr das Feld verwendet werden sollen.<\/p>\n<p>Im ecore Modell:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5908\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno.png\" alt=\"ecore-anno\" width=\"1203\" height=\"199\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno.png 1203w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno-300x50.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno-1024x169.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-anno-900x149.png 900w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Ergebnis in der generierten Java Klasse:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-klasse.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5909\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-klasse.png\" alt=\"ecore-klasse\" width=\"634\" height=\"839\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-klasse.png 634w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2015\/07\/ecore-klasse-227x300.png 227w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u00dfen &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=5907\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eLucene: Welche Annotationen sind n\u00f6tig, damit ein Ecore-Model die Java Klasse f\u00fcr Lucene mit Hibernate indexiert?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8],"tags":[106,2139,2150,2158,2148],"class_list":["post-5907","post","type-post","status-publish","format-standard","hentry","category-java","category-uml","tag-annotationen","tag-ecore","tag-hibernate","tag-lucene","tag-modell"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/5907","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5907"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/5907\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5907"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5907"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5907"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}