IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs Discussion :

La recherche full-text avec Apache Solr


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut La recherche full-text avec Apache Solr
    Bonsoir,

    Voici un article que je ne parviens pas à finaliser dans le détail, mais qui me semble suffisamment avancé pour vous le présenter sans trop rougir :
    Configurer un moteur de recherche performant à l'aide d'Apache Lucene/Solr et Apache Tomcat (ou tout autre conteneur de servlets)

    Apache Lucene est un moteur d'indexation de texte permettant d'effectuer des recherches en langage naturel à l'aide de diverses manipulations automatiques du texte. Le texte indexé est enregistré sous de multiples représentations, de même pour le texte recherché, et les résultats de recherche sont déterminés suite à la comparaison de ces variantes.
    Apache Solr étend le principe de Lucene en facilitant l'administration (interface RESTful) et en ajoutant des fonctionnalités : filtres de recherche, manipulation des résultats, etc.
    Dans ce tutoriel, vous apprendrez à mettre en place un serveur Tomcat avec plusieurs schémas Solr.
    J'ai commencé la rédaction en 2010 avec Solr 1.4. Depuis, les projets Solr et Lucene ont aligné leurs versions : ils en sont maintenant (l'un et l'autre) à la version 3.5 ; la version 3.6 est prévue pour très bientôt et la version suivante sera dans la branche 4.x.
    De même, la rédaction a commencé alors que Tomcat 5.5 était encore assez répandu, et la branche 7 n'était pas encore sortie.


    N'hésitez pas à laisser vos commentaires à la suite, surtout si vous avez comparé divers moteurs full-text et que vous souhaitez partager votre expérience.

    Bonne lecture !

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Bonjour.

    Merci pour ce cours qui semble très complet et d'un bon niveau, c'est exactement ce dont j'avais besoin (j’entends de plus en plus parler de Solr sans savoir exactement ce que c'est, bien sûr avec une petite idée mais ...). Je n'ai pas eu le temps de le parcourir en profondeur mais je le ferait dès que j'aurais un peu temps où en cas de besoin.

    Merci encore.

    Cordialement,
    Idriss

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 40
    Points
    40
    Par défaut
    Un travail impressionnant! Merci.

    J'aurais une remarque sur le vocabulaire dans le paragraphe I-B ;-)
    La traduction de stemming n'est pas lemmatisation mais stemmatisation ou racinisation. Les 2 traitements sont légèrements différents et ce qui est décrit dans le paragraphe I-B-2-b est bien la racinisation des mots (mot -> lexème ou racine ou radical). Et c'est bien ce que Solr effectue comme traitement.

    La lemmatisation (mot -> lemme) consiste à ramener un mot à sa forme canonique, c'est à dire la plus petite unité de sens. Ce sera la forme "singulier" pour un nom, la forme infinitive pour un verbe.
    Les dictionnaires par exemples recensent tous les lemmes d'une langues.

    Voici un exemple qui illustre la différence entre les 2. Prenons 3 mots :
    augmenter / augmentez / augmentation

    La lemmatisation donne 2 lemmes :
    augmenter / augmentation

    La racinisation(stemmatisation) donne 1 lexème :
    augment

    Seule la racinisation permet de rapprocher les 3 mots et est donc plus efficace dans Solr.
    Je pense donc qu'il est plus juste d'intituler votre paragraphe "Racinisation" que "Lemmatisation".


    Voir la page wikipedia sur la racinisation
    http://fr.wikipedia.org/wiki/Racinisation


    A noter qu'il est plus difficile de mettre au point en informatique un lemmatiseur qu'un raciniseur car lemmatiser un mot dépend beaucoup de sa fonction grammaticale. Il y a beaucoup de cas où il y a ambiguïté. Ex:
    "je marche" => lemme: marcher
    "les marches de l'escalier" => lemme: marche

    Le raciniseur supprimmera conservera simplement la racine: march

  4. #4
    Membre éprouvé
    Avatar de request
    Inscrit en
    Novembre 2002
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 328
    Points : 1 248
    Points
    1 248
    Par défaut
    Bonjour Yogui,

    Bravo pour se travaille, c'est complet est fort intéressant.
    J’aurais bien aimé avoir lu ton article avant d'attaquer la documentation de Solr, j'aurais gagné du temps.

    Dans le chapitre 8 tu dis que le Suggester nécessite un reload, cela ne semble pas se produire dans mon cas avec la dernière version.

    Pour ceux qui veulent voir ce que cela peut donner dans un cas réél avec les modules de l'articles: suggestion, facet, highlight et full text le tout en ajax
    http://www.jardiland.com/information...he.html#erable

    Les performances sont très bonnes. SOLR est un outils mature et intéressant.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    @tvibes : Eh bien pourtant, je me suis renseigné pendant un bon moment et j'ai fait relire spécialement cette partie de l'article. Merci pour avoir relevé cette coquille, c'est corrigé.

    @request : ma foi, j'aurais moi aussi avoir eu un cours d'intro un peu plus facile d'approche que le tuto qui était disponible sur le Wiki officiel à l'époque
    J'espère que mon article est un élément de réponse à ce problème.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 40
    Points
    40
    Par défaut
    @Yogui @request Quand j'ai commencé avec Solr j'ai acheté le EBook
    Solr 1.4 - Enterprise Search Server
    (moins de 30€ il me semble) Il m'a été d'une grande aide.

Discussions similaires

  1. recherche full text avec VARCHAR(150)?
    Par alassanediakite dans le forum Débuter
    Réponses: 1
    Dernier message: 19/10/2012, 22h27
  2. Outil de recherche Full Text (pour doc/pdf etc.) avec PHP
    Par amalec78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 18/04/2011, 13h36
  3. [MySQL] Recherche d'un outil Full Text avec PHP
    Par amalec78 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 25/11/2010, 08h47
  4. Réponses: 0
    Dernier message: 01/08/2008, 16h15
  5. Recherche FULL Text existe que dans MySql ?
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/06/2004, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo