Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAntoinette Fernandez Modifié depuis plus de 10 années
1
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
2
Erik Kimmel – Isabelle Luyten Au programme… Généralités Le full-text, concepts Problèmes Hibernate Search Réseau BD 11/12/082
3
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/083 Généralités
4
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/084 Description… Cest quoi ? API Java Open Source Module Hibernate (http://www.hibernate.org)http://www.hibernate.org 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
5
Erik Kimmel – Isabelle Luyten …description Historique Leader : Emmanuel Bernard Au départ sous-composant de Hibernate Annotations Première release : 3.0.0 Beta1 (19/03/2007) Version actuelle : 3.1.0 Beta1 (17/07/2008) Réseau BD 11/12/085
6
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/086 Full-Text, whats that ?
7
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
8
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
9
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
10
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
11
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0811 Problèmes
12
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
13
Erik Kimmel – Isabelle Luyten Mismatch structural Réseau BD 11/12/0813
14
Erik Kimmel – Isabelle Luyten Mismatch de synchronisation Réseau BD 11/12/0814
15
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
16
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0816 Hibernate Search, technique
17
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 package example.Book; @Entity @Indexed public class Book { @Id @DocumentId private Integer id; @Field(index=Index.TOKENIZED, store=Store.YES) private String body; @Field(index=Index.TOKENIZED, store=Store.YES) private String summary;... }
18
Erik Kimmel – Isabelle Luyten Indexation Transparente Transactionnelle Réseau BD 11/12/0818
19
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
20
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
21
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
22
Erik Kimmel – Isabelle Luyten Réseau BD 11/12/0822 Questions… et peut-être réponses
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.