Accueil
Articles
Astuces
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Indexer et rechercher vos entités métier à l'aide du Framework Lucene.Net
Conception à l'aide des génériques et de la réflexion d'un moteur de recherche permettant d'indexer et rechercher du contenu dans des entités métier sans les polluer.
Par
Laurent Kempé
publié le 12/11/2007 à 00:04, lu 3039 fois, 6 pages
1 commentaire(s)
Tags:
C#
,
ASP.NET 2
,
Architecture
,
ASP.NET
,
Outils
,
Interopérabilité
,
Réflection
2 | Présentation de Lucene.Net
1 | Introduction
2 | Présentation de Lucene.Net
3 | Architecture de la solution
4 | Détails de l'implémentation
5 | Intégration de l'indexation dans la couche d'accès
6 | Conclusion
Présentation de Lucene.Net
Lucene.Net
est un projet open source issu du monde Java qui est actuellement en incubation chez Apache Software Foundation (ASF). Il s'agit d'un portage en C# sur la plateforme .NET du code source, classe-par-classe, API-par-API ainsi que la partie algorithmique du moteur de recherche Java
Lucene
.
Apache Lucene est un moteur performant d'indexation et de recherche de données textuelles. Il n'offre toutefois pas de support intégré pour les documents de type
Office Word
ou
PDF
, il faut pour cela utiliser des extensions permettant d'extraire le contenu textuel d'un document afin de pouvoir l'indexer. Ceci est aussi valable pour un document écris avec un quelconque markup tel que l'
HTML
.
Lucene.Net respecte scrupuleusement les APIs et les classes définies dans la version originale Java de l'implémentation de Lucene. Les noms des API ainsi que celui des classes sont préservés avec l'intention de suivre les règles de nommage du langage C#. Par exemple, la méthode
Hits.length()
de l'implémentation Java est écrite
Hits.Length()
dans sa version C#.
Comme le portage des APIs et des classes en C#, l'algorithme de la version Java de Lucene est lui aussi porté dans la version C#. Cela signifie qu'un index créée à l'aide de la version Java de Lucene est 100% compatible avec sa version C#, et ceci pour la lecture, l'écriture et la mise à jour. De ce fait deux processus, l'un Java et l'autre C#, peuvent faire des recherches concurrentes en utilisant le même index.
Vous pouvez consulter la documentation pour la dernière version stable, version 2.0,
sur la page suivante
. Et vous pouvez télécharger la dernière
version stable de Lucene.Net sur cette page
. Pour ce qui est de la recherche d'informations je vous recommande d'
utiliser les pages parlant de la version Java de Lucene
qui sont bien plus fournies.
Architecture de Lucene.Net
Architecture de Lucene.Net
La couche du bas est la couche d'accès aux données (Stockage).
Vient ensuite, une couche permettant d'accéder aux fichiers d'index (Accès aux index). Cette couche est utilisée aussi bien par le système d'indexation que celui de recherche.
Au dessus de ces couches de base on trouve une couche de recherche et de parseur de requêtes utilisées par la partie recherche de Lucene.Net.
De la même manière on trouve une couche analyseur et document plus utilisés eux par la partie indexation de Lucene.Net.
Pour en savoir un peu plus sur le fonctionnement de Lucene je vous recommande de
lire sa présentation en français sur le site wikipedia
.
Maintenant que nous avons un aperçu un peu plus clair de ce qu'est Lucene.Net nous allons voir comment l'utiliser afin d'indexer les propriétés de nos entités métier.
1
2
3
4
5
6
»
Démarrer une discussion
Question à propose de lucene
Chargement ...
Discussion démarée par
teddyalbina
le 24/08/2008 à 11:41, 1 commentaire(s).
Ecrire un commentaire
Titre
Commentaire
Annuler