SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
Igor Laborie    Toulouse JUG   26 Avril 2012
vendredi 27 avril 12                                  1
$whoami


                       • Twitter: @ilaborie



vendredi 27 avril 12                          2
Intro



vendredi 27 avril 12           3
vendredi 27 avril 12   4
vendredi 27 avril 12   4
vendredi 27 avril 12   5
SQL



vendredi 27 avril 12         6
Types de Recherche



vendredi 27 avril 12                        7
vendredi 27 avril 12   8
vendredi 27 avril 12   9
vendredi 27 avril 12   10
vendredi 27 avril 12   11
vendredi 27 avril 12   12
vendredi 27 avril 12   13
vendredi 27 avril 12   14
vendredi 27 avril 12   15
Autres recherches

                   • Terme
                   • ‘Spelling’
                   • Thesaurus, Synonymes
                   • ‘More Like This’

vendredi 27 avril 12                        16
Bilan

                       • C’est très rapide
                       • Tri par pertinence
                       • Meilleure UX
                       • Comment ferait-on avec du SQL ???

vendredi 27 avril 12                                         17
vendredi 27 avril 12   18
Historique

                       • Projet Apache depuis 2001
                       • Top Level Project depuis 2005
                       • http://lucene.apache.org/


vendredi 27 avril 12                                     19
Qu’est ce qu’on
                                indexe ?

                       • Documents: Multimap<field,value>
                       • Document texte, binaire, audio, vidéo, ...
                         avec Apache Tika

                       • Crawler des sites, avec Apache Nutch

vendredi 27 avril 12                                                  20
Analyse de Texte



vendredi 27 avril 12                      21
vendredi 27 avril 12   22
Texte orignal




vendredi 27 avril 12   22
Texte orignal




vendredi 27 avril 12   22
Texte orignal

        Tokenisation




vendredi 27 avril 12   22
Texte orignal

        Tokenisation




vendredi 27 avril 12   22
Texte orignal

        Tokenisation

        Minuscules




vendredi 27 avril 12   22
Texte orignal

        Tokenisation

        Minuscules




vendredi 27 avril 12   22
Texte orignal

        Tokenisation

        Minuscules

      ASCII




vendredi 27 avril 12   22
Texte orignal

        Tokenisation

        Minuscules

      ASCII




vendredi 27 avril 12   22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs




vendredi 27 avril 12               22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs




vendredi 27 avril 12               22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs

       Elision



vendredi 27 avril 12               22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs

       Elision



vendredi 27 avril 12               22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs

       Elision

         Stemmatisation
vendredi 27 avril 12               22
Texte orignal

        Tokenisation

        Minuscules

      ASCII

           Mots non significatifs

       Elision

         Stemmatisation
vendredi 27 avril 12               22
Indexation



vendredi 27 avril 12                23
vendredi 27 avril 12   24
Indexation




vendredi 27 avril 12                24
Maître Corbeau,
                  sur un arbre
                  perché,
                  Tenait en son
                  bec un fromage.
                  ...
                               1




                                    Indexation




vendredi 27 avril 12                             24
Maître Corbeau,
                  sur un arbre
                  perché,
                  Tenait en son
                  bec un fromage.
                  ...
                               1




                                    Indexation




vendredi 27 avril 12                             24
Maître Corbeau,
                  sur un arbre
                  perché,
                  Tenait en son
                  bec un fromage.
                  ...
                               1




                                             Indexation

                                    Termes       Documents

                                     maitr           1

                                    corbeau          1

                                     arbre           1

                                     perch           1

                                      ten            1

                                      ...
vendredi 27 avril 12                                         24
Maître Corbeau,
                  sur un arbre                               Maître Corbeau
                  perché,                                    et Le Renard,
                  Tenait en son                              une fable de
                  bec un fromage.                            Jean de la
                  ...                                        Fontaine, ...

                               1                                          2




                                             Indexation

                                    Termes       Documents

                                     maitr           1

                                    corbeau          1

                                     arbre           1

                                     perch           1

                                      ten            1

                                      ...
vendredi 27 avril 12                                                          24
Maître Corbeau,
                  sur un arbre                               Maître Corbeau
                  perché,                                    et Le Renard,
                  Tenait en son                              une fable de
                  bec un fromage.                            Jean de la
                  ...                                        Fontaine, ...

                               1                                          2




                                             Indexation

                                    Termes       Documents

                                     maitr           1

                                    corbeau          1

                                     arbre           1

                                     perch           1

                                      ten            1

                                      ...
vendredi 27 avril 12                                                          24
Maître Corbeau,
                  sur un arbre                               Maître Corbeau
                  perché,                                    et Le Renard,
                  Tenait en son                              une fable de
                  bec un fromage.                            Jean de la
                  ...                                        Fontaine, ...

                               1                                          2




                                             Indexation

                                    Termes       Documents

                                     maitr          1, 2

                                    corbeau         1, 2

                                     arbre           1

                                     perch           1

                                      ten            1

                                      ...
vendredi 27 avril 12                                                          24
‘Problèmes’ de Lucene

                       • Comment fait on avec une architecture
                         distribué ?
                       • Peut on utiliser Lucene avec un autre
                         langage ?




vendredi 27 avril 12                                             25
vendredi 27 avril 12   26
Historique

                       • Débute en 2004 chez CNET Networks
                       • Donné à Apache en 2006
                       • http://lucene.apache.org/solr/


vendredi 27 avril 12                                         27
Comment

                       • Utilise Lucene
                       • REST avec JSON et XML
                       • http://localhost:8080/solr/select?q=<query>
                       • http://localhost:8080/solr/update avec XML
                         en POST



vendredi 27 avril 12                                                   28
Principes

                       • Configuration générale : solrconfig.xml
                       • Configuration des types et des champs:
                         schema.xml

                       • Configuration majoritairement statique
                       • Application Web classique

vendredi 27 avril 12                                             29
Clustering

                       • Partition de données «Sharding»
                       • Rôle des nœuds
                        • écriture
                        • lecture
                        • mixte

vendredi 27 avril 12                                       30
vendredi 27 avril 12   31
Historique

                       • Projet récent (2010)
                       • Créer par Shay Banon (@kimchy)
                       • http://www.elasticsearch.org/


vendredi 27 avril 12                                      32
Comment ?

                       • Utilise Lucene
                       • Tout est REST avec JSON
                       • Née pour le clustering


vendredi 27 avril 12                               33
Dynamique

                       • Administration par REST
                       • Pas besoin de connaitre la structure des
                         documents.
                         • mais, pas toujours. 
                       • Clustering trivial

vendredi 27 avril 12                                                34
Extra

                       • River
                       • Percolator
                       • Backup
                       • Super facetting (Graph)

vendredi 27 avril 12                               35
Extra

                       • River
                       • Percolator
                       • Backup
                       • Super facetting (Graph)

vendredi 27 avril 12                               35
vendredi 27 avril 12   36
vendredi 27 avril 12   37
vendredi 27 avril 12   38
vendredi 27 avril 12   39
Lucene ||
                       SolR || ElasticSearch ?


vendredi 27 avril 12                             40
Conclusion

                       • Démystifier l’usage d’un moteur de
                         recherche
                       • Plein de fonctionnalités sympas
                       • Simple ?


vendredi 27 avril 12                                         41

Contenu connexe

En vedette

Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...Sadraki YABRE
 
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009Mathieu Lahaye
 
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Ahmed EL ATARI
 
Exposé traitement d'image
Exposé traitement d'image Exposé traitement d'image
Exposé traitement d'image Tbatou sanae
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresRobert Viseur
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google mapsVisionGÉOMATIQUE2012
 
Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Amine Ouariache
 
Utilisation des SIG par la SQ en recherche terrestre
Utilisation des SIG par la SQ en recherche terrestreUtilisation des SIG par la SQ en recherche terrestre
Utilisation des SIG par la SQ en recherche terrestreVisionGEOMATIQUE2014
 
Leyes aprobadas-tres-años-2008-2011
Leyes aprobadas-tres-años-2008-2011Leyes aprobadas-tres-años-2008-2011
Leyes aprobadas-tres-años-2008-2011Asamblea Nacional
 
Les media et les journalistes en Pologne
Les media et les journalistes en PologneLes media et les journalistes en Pologne
Les media et les journalistes en PologneKrzysztof Urbanowicz
 
Comunidad de David de Ugarte
Comunidad de David de UgarteComunidad de David de Ugarte
Comunidad de David de Ugarteaugustodefranco .
 

En vedette (18)

Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
Pertinence et Performance de la Géomatique pour une étude d'avant-projet d'ex...
 
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
SIG open source : aperçu et comparaisons - présentation AGMQ 30 avril 2009
 
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
Projet SIG : Etude d’implantation d’un site potentiel de CTS de CO²
 
Bases de données spatiales
Bases de données spatialesBases de données spatiales
Bases de données spatiales
 
Exposé traitement d'image
Exposé traitement d'image Exposé traitement d'image
Exposé traitement d'image
 
Hydrologie générale
Hydrologie générale Hydrologie générale
Hydrologie générale
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libres
 
Introduction au webmapping au-dela de google maps
Introduction au webmapping  au-dela de google mapsIntroduction au webmapping  au-dela de google maps
Introduction au webmapping au-dela de google maps
 
Lucene and MySQL
Lucene and MySQLLucene and MySQL
Lucene and MySQL
 
Lucene basics
Lucene basicsLucene basics
Lucene basics
 
Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014Geomatique ppt - m11 intro-cours_eg_20131014
Geomatique ppt - m11 intro-cours_eg_20131014
 
Cours robotique
Cours robotiqueCours robotique
Cours robotique
 
Utilisation des SIG par la SQ en recherche terrestre
Utilisation des SIG par la SQ en recherche terrestreUtilisation des SIG par la SQ en recherche terrestre
Utilisation des SIG par la SQ en recherche terrestre
 
Leyes aprobadas-tres-años-2008-2011
Leyes aprobadas-tres-años-2008-2011Leyes aprobadas-tres-años-2008-2011
Leyes aprobadas-tres-años-2008-2011
 
Les media et les journalistes en Pologne
Les media et les journalistes en PologneLes media et les journalistes en Pologne
Les media et les journalistes en Pologne
 
Animation commerciale
Animation commerciale Animation commerciale
Animation commerciale
 
Librairie Hispa
Librairie HispaLibrairie Hispa
Librairie Hispa
 
Comunidad de David de Ugarte
Comunidad de David de UgarteComunidad de David de Ugarte
Comunidad de David de Ugarte
 

Moteurs de recherche en Java

  • 1. Igor Laborie Toulouse JUG 26 Avril 2012 vendredi 27 avril 12 1
  • 2. $whoami • Twitter: @ilaborie vendredi 27 avril 12 2
  • 17. Autres recherches • Terme • ‘Spelling’ • Thesaurus, Synonymes • ‘More Like This’ vendredi 27 avril 12 16
  • 18. Bilan • C’est très rapide • Tri par pertinence • Meilleure UX • Comment ferait-on avec du SQL ??? vendredi 27 avril 12 17
  • 20. Historique • Projet Apache depuis 2001 • Top Level Project depuis 2005 • http://lucene.apache.org/ vendredi 27 avril 12 19
  • 21. Qu’est ce qu’on indexe ? • Documents: Multimap<field,value> • Document texte, binaire, audio, vidéo, ... avec Apache Tika • Crawler des sites, avec Apache Nutch vendredi 27 avril 12 20
  • 22. Analyse de Texte vendredi 27 avril 12 21
  • 26. Texte orignal Tokenisation vendredi 27 avril 12 22
  • 27. Texte orignal Tokenisation vendredi 27 avril 12 22
  • 28. Texte orignal Tokenisation Minuscules vendredi 27 avril 12 22
  • 29. Texte orignal Tokenisation Minuscules vendredi 27 avril 12 22
  • 30. Texte orignal Tokenisation Minuscules ASCII vendredi 27 avril 12 22
  • 31. Texte orignal Tokenisation Minuscules ASCII vendredi 27 avril 12 22
  • 32. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs vendredi 27 avril 12 22
  • 33. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs vendredi 27 avril 12 22
  • 34. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision vendredi 27 avril 12 22
  • 35. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision vendredi 27 avril 12 22
  • 36. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision Stemmatisation vendredi 27 avril 12 22
  • 37. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision Stemmatisation vendredi 27 avril 12 22
  • 41. Maître Corbeau, sur un arbre perché, Tenait en son bec un fromage. ... 1 Indexation vendredi 27 avril 12 24
  • 42. Maître Corbeau, sur un arbre perché, Tenait en son bec un fromage. ... 1 Indexation vendredi 27 avril 12 24
  • 43. Maître Corbeau, sur un arbre perché, Tenait en son bec un fromage. ... 1 Indexation Termes Documents maitr 1 corbeau 1 arbre 1 perch 1 ten 1 ... vendredi 27 avril 12 24
  • 44. Maître Corbeau, sur un arbre Maître Corbeau perché, et Le Renard, Tenait en son une fable de bec un fromage. Jean de la ... Fontaine, ... 1 2 Indexation Termes Documents maitr 1 corbeau 1 arbre 1 perch 1 ten 1 ... vendredi 27 avril 12 24
  • 45. Maître Corbeau, sur un arbre Maître Corbeau perché, et Le Renard, Tenait en son une fable de bec un fromage. Jean de la ... Fontaine, ... 1 2 Indexation Termes Documents maitr 1 corbeau 1 arbre 1 perch 1 ten 1 ... vendredi 27 avril 12 24
  • 46. Maître Corbeau, sur un arbre Maître Corbeau perché, et Le Renard, Tenait en son une fable de bec un fromage. Jean de la ... Fontaine, ... 1 2 Indexation Termes Documents maitr 1, 2 corbeau 1, 2 arbre 1 perch 1 ten 1 ... vendredi 27 avril 12 24
  • 47. ‘Problèmes’ de Lucene • Comment fait on avec une architecture distribué ? • Peut on utiliser Lucene avec un autre langage ? vendredi 27 avril 12 25
  • 49. Historique • Débute en 2004 chez CNET Networks • Donné à Apache en 2006 • http://lucene.apache.org/solr/ vendredi 27 avril 12 27
  • 50. Comment • Utilise Lucene • REST avec JSON et XML • http://localhost:8080/solr/select?q=<query> • http://localhost:8080/solr/update avec XML en POST vendredi 27 avril 12 28
  • 51. Principes • Configuration générale : solrconfig.xml • Configuration des types et des champs: schema.xml • Configuration majoritairement statique • Application Web classique vendredi 27 avril 12 29
  • 52. Clustering • Partition de données «Sharding» • Rôle des nœuds • écriture • lecture • mixte vendredi 27 avril 12 30
  • 54. Historique • Projet récent (2010) • Créer par Shay Banon (@kimchy) • http://www.elasticsearch.org/ vendredi 27 avril 12 32
  • 55. Comment ? • Utilise Lucene • Tout est REST avec JSON • Née pour le clustering vendredi 27 avril 12 33
  • 56. Dynamique • Administration par REST • Pas besoin de connaitre la structure des documents. • mais, pas toujours.  • Clustering trivial vendredi 27 avril 12 34
  • 57. Extra • River • Percolator • Backup • Super facetting (Graph) vendredi 27 avril 12 35
  • 58. Extra • River • Percolator • Backup • Super facetting (Graph) vendredi 27 avril 12 35
  • 63. Lucene || SolR || ElasticSearch ? vendredi 27 avril 12 40
  • 64. Conclusion • Démystifier l’usage d’un moteur de recherche • Plein de fonctionnalités sympas • Simple ? vendredi 27 avril 12 41