Hibernate Search - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Hibernate Search

Description:

Projet maven : ajout des d pendances. D finition des ' directories ' Mapping Hibernate, ... Ajout de fonctionnalit s de recherche full-text une application ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 23
Provided by: erikk3
Category:

less

Transcript and Presenter's Notes

Title: Hibernate Search


1
Hibernate Search
  • Réunion dunité 23/10/2008
  • Erik Kimmel

2
Au programme
  • Généralités
  • Le full-text, concepts
  • Problèmes
  • Hibernate Search

3
Généralités
4
Description
  • Cest quoi ?
  • API Java Open Source
  • Module Hibernate (http//www.hibernate.org)
  • Cest bien pour
  • Intégrer Hibernate et LuceneTM
  • 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
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)

6
Full-Text, whats that ?
7
Le full-text
  • Un type de recherche orienté  humain 
  • Requêtes presque naturelles
  • Recherches de
  • Mots
  • Phrases
  • Recherches par
  • Pertinence
  • Approximations

8
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 LuceneTM, Sphinx, mnogosearch

9
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

10
Rechercher
  • Etapes
  • Requête utilisateur
  • Déterminer la liste des mots
  • Trouver les documents appropriés
  • Éliminer les mauvais
  • Ordonner par pertinence

11
Problèmes
12
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

13
Mismatch structural
14
Mismatch de synchronisation
15
Mismatch de récupération
  • Résultats des recherches documents
  • Structure Map (paires clé/valeur)
  • Difficulté convertion en objets métier

16
Hibernate Search, technique
17
Configuration
  • Pré-requis Java 1.5, Hibernate Core, Hibernate
    Annotations
  • Projet maven ajout des dépendances
  • Définition des  directories 
  • Mapping Hibernate, annotations

package example.Book _at_Entity _at_Indexed public
class Book _at_Id _at_DocumentId private
Integer id _at_Field(indexIndex.TOKENIZED,
storeStore.YES) private String body
_at_Field(indexIndex.TOKENIZED, storeStore.YES)
private String summary ...
18
Indexation
  • Transparente
  • Transactionnelle

19
Mapping
  • Définir les attributs à indexer
  • Stratégies
  • Tokenized
  • Untokenized
  • Conversion des types
  • Bridges
  • Représentation String dun type
  • Associations
  • Dénormalisation
  • Document unique

20
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

21
Conclusion / Résumé
  • Outil Open Source
  • Ajout de fonctionnalités de recherche full-text à
    une application
  • Utilisation de LuceneTM
  • 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

22
Questions et peut-être réponses
Write a Comment
User Comments (0)
About PowerShow.com