A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T Réseau BD 11/12/08 Hibernate Search Réunion dunité – 23/10/2008 Erik Kimmel
Erik Kimmel – Isabelle Luyten Au programme… Généralités Le full-text, concepts Problèmes Hibernate Search Réseau BD 11/12/082
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/083 Généralités
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/084 Description… Cest quoi ? API Java Open Source Module Hibernate ( Cest bien pour Intégrer Hibernate et Lucene TM Indexer un « object domain model » Ajouter des fonctionnalités de recherche full-text à une application Cest moins bien pour Faire le café Sortir le chien
Erik Kimmel – Isabelle Luyten …description Historique Leader : Emmanuel Bernard Au départ sous-composant de Hibernate Annotations Première release : Beta1 (19/03/2007) Version actuelle : Beta1 (17/07/2008) Réseau BD 11/12/085
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/086 Full-Text, whats that ?
Erik Kimmel – Isabelle Luyten Le full-text… Un type de recherche orienté « humain » Requêtes presque naturelles Recherches de : Mots Phrases Recherches par : Pertinence Approximations Réseau BD 11/12/087
Erik Kimmel – Isabelle Luyten …le full-text Fonctionnalités : Opérateurs booléens Contrôle de lindexation : les mots courants ne sont pas indexés Indexation de différents supports : Texte, HTML, DOC, PDF, XML… Mise à jour dun index Solutions : Moteurs pour les BD : MySQL: Full Text Search, Senna, PostgreSQL: Tsearch2, Oracle: Oracle Text Fonctionnalités DB : procédures, tables de mots-clé Solutions externes : Lucene TM, Sphinx, mnogosearch Réseau BD 11/12/088
Erik Kimmel – Isabelle Luyten Indexer Objectif : Créer une structure permettant de rendre les recherches de données plus efficace Etapes : Rassembler linformation Conversion en texte (document) Extraire les mots (atomiques) des documents Stockage Réseau BD 11/12/089
Erik Kimmel – Isabelle Luyten Rechercher Etapes : Requête utilisateur Déterminer la liste des mots Trouver les documents appropriés Éliminer les mauvais Ordonner par pertinence Réseau BD 11/12/0810
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0811 Problèmes
Erik Kimmel – Isabelle Luyten Les mismatches Entre le monde « objet » et le monde « texte plat » 3 types : Mismatch structural Mismatch de synchronisation Mismatch de récupération des résultats Limitations pour lutilisation dun moteur full- text Réseau BD 11/12/0812
Erik Kimmel – Isabelle Luyten Mismatch structural Réseau BD 11/12/0813
Erik Kimmel – Isabelle Luyten Mismatch de synchronisation Réseau BD 11/12/0814
Erik Kimmel – Isabelle Luyten Mismatch de récupération Résultats des recherches : documents Structure : Map (paires clé/valeur) Difficulté : convertion en objets métier Réseau BD 11/12/0815
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0816 Hibernate Search, technique
Erik Kimmel – Isabelle Luyten Configuration Pré-requis : Java 1.5+, Hibernate Core, Hibernate Annotations Projet maven : ajout des dépendances Définition des « directories » Mapping Hibernate, annotations Réseau BD 11/12/0817 public class private Integer store=Store.YES) private String store=Store.YES) private String summary;... }
Erik Kimmel – Isabelle Luyten Indexation Transparente Transactionnelle Réseau BD 11/12/0818
Erik Kimmel – Isabelle Luyten Mapping Définir les attributs à indexer Stratégies : Tokenized Untokenized Conversion des types : Bridges Représentation String dun type Associations Dénormalisation Document unique Réseau BD 11/12/0819
Erik Kimmel – Isabelle Luyten Recherches Types : Même SessionFactory Même API quHibernate Core Résultats : objets de persistence Utilisation de la syntaxe Lucene Restriction sur les types recherchés Pagination Lazy loading Réseau BD 11/12/0820
Erik Kimmel – Isabelle Luyten Conclusion / Résumé Outil Open Source Ajout de fonctionnalités de recherche full- text à une application Utilisation de Lucene TM Synchronisation transparente entre base de données et index Conversion entre « domain model » et index grâce aux annotations Réutilisation de lAPI Hibernate pour les requêtes Réseau BD 11/12/0821
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0822 Questions… et peut-être réponses