Objectifs de la formation
Hibernate Search associe la puissance du framework Hibernate avec le moteur de recherche plein texte Apache Lucene . Hibernate Search permet grâce à des annotations d’indexer les objets d’un domaine, Hibernate Search prend à sa charge la synchronisation du contenu de la base avec l’index plein texte de Lucene et permet de directement retourner des objets du domaine lors d’une requête plein texte.
Ce cours permet d’appréhender tous les aspects de la mise en place d’Hibernate Search. Vous allez apprendre les différentes architectures possibles, les annotations d’indexation, la configuration des différents analyseurs de textes et les différentes syntaxes de requêtage. A l’issue du cours, les participants auront toutes les clés pour mettre en place efficacement Hibernate Search dans leur projet.
À qui s’adresse cette formation ?
Cette formation Hibernate Search s’adresse à des programmeurs, développeurs, chefs de projet désireux de mettre en place efficacement un moteur de recherche plein texte dans leurs applications Java
Prérequis
Connaître Hibernate
Programme
Introduction à Hibernate Search
- Le projet Hibernate et les projets satellites
- Hibernate Search, présentation des différents composants et des apports de l’intégration
- Choix lors de la mise en place
- Différentes architectures pour l’indexation
- Les différents types de répertoires Lucene
- Configurations du Reader
- L’outil Luke All
Mapping des entités
- Annotations principales : @Indexed, @Field
- Autres annotations : @DocumentId, @NumericField, @Boost…
- Objets embarqués et associations
- Les analyseurs, leur rôles et utilisation. Analyseurs fournis, implémentation d’un analyseur
- Annotations @Analyzer, @AnalyzerDef
- Conversion en String via les Bridges
- Bridges fournis et implémention de l’interface Bridge
API de recherche
- Choix pour le requêtage : l’API Hibernate Search ou la syntaxe Lucène
- Pattern d’exécution d’une requête
- Distinction entre ‘Terme unique’ et ‘phrase’
- Types de recherche : approximative, de proximité, d’intervalle, utilisation du boost …
- Syntaxe Lucene
- API Hibernate Search : Query Parser, Query Builder
- Construction de la requête Hibernate
Recherche : notions avancées
- Tri et pertinence des résultats
- Mise en place de la pagination
- Performance de la recherche, utilisation des projections, utilisation de cache
- Surbrillance des termes cherchés
- Catégorisation des résultats
Monitoring et administration de l’index
- Modification manuelle de l’index, réindexation complète ou partielle
- Optimisation automatique, manuelle
- Monitoring via JMX
- Implémentation d’un Index Reader
- Partitionnement et partage d’index
Travaux Pratiques
Les travaux pratiques utilisent le serveur l’IDE Eclipse et les plugins pour Hibernate (Hibernate Tools)
Thèmes : Java - Framework et outils