Moteurs de recherche en Java

2,908 views

Published on

Présentation au ToulouseJUG sur les Moteurs de recherches Java

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,908
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
50
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Moteurs de recherche en Java

  1. 1. Igor Laborie Toulouse JUG 26 Avril 2012vendredi 27 avril 12 1
  2. 2. $whoami • Twitter: @ilaborievendredi 27 avril 12 2
  3. 3. Introvendredi 27 avril 12 3
  4. 4. vendredi 27 avril 12 4
  5. 5. vendredi 27 avril 12 4
  6. 6. vendredi 27 avril 12 5
  7. 7. SQLvendredi 27 avril 12 6
  8. 8. Types de Recherchevendredi 27 avril 12 7
  9. 9. vendredi 27 avril 12 8
  10. 10. vendredi 27 avril 12 9
  11. 11. vendredi 27 avril 12 10
  12. 12. vendredi 27 avril 12 11
  13. 13. vendredi 27 avril 12 12
  14. 14. vendredi 27 avril 12 13
  15. 15. vendredi 27 avril 12 14
  16. 16. vendredi 27 avril 12 15
  17. 17. Autres recherches • Terme • ‘Spelling’ • Thesaurus, Synonymes • ‘More Like This’vendredi 27 avril 12 16
  18. 18. Bilan • C’est très rapide • Tri par pertinence • Meilleure UX • Comment ferait-on avec du SQL ???vendredi 27 avril 12 17
  19. 19. vendredi 27 avril 12 18
  20. 20. Historique • Projet Apache depuis 2001 • Top Level Project depuis 2005 • http://lucene.apache.org/vendredi 27 avril 12 19
  21. 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 Nutchvendredi 27 avril 12 20
  22. 22. Analyse de Textevendredi 27 avril 12 21
  23. 23. vendredi 27 avril 12 22
  24. 24. Texte orignalvendredi 27 avril 12 22
  25. 25. Texte orignalvendredi 27 avril 12 22
  26. 26. Texte orignal Tokenisationvendredi 27 avril 12 22
  27. 27. Texte orignal Tokenisationvendredi 27 avril 12 22
  28. 28. Texte orignal Tokenisation Minusculesvendredi 27 avril 12 22
  29. 29. Texte orignal Tokenisation Minusculesvendredi 27 avril 12 22
  30. 30. Texte orignal Tokenisation Minuscules ASCIIvendredi 27 avril 12 22
  31. 31. Texte orignal Tokenisation Minuscules ASCIIvendredi 27 avril 12 22
  32. 32. Texte orignal Tokenisation Minuscules ASCII Mots non significatifsvendredi 27 avril 12 22
  33. 33. Texte orignal Tokenisation Minuscules ASCII Mots non significatifsvendredi 27 avril 12 22
  34. 34. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elisionvendredi 27 avril 12 22
  35. 35. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elisionvendredi 27 avril 12 22
  36. 36. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision Stemmatisationvendredi 27 avril 12 22
  37. 37. Texte orignal Tokenisation Minuscules ASCII Mots non significatifs Elision Stemmatisationvendredi 27 avril 12 22
  38. 38. Indexationvendredi 27 avril 12 23
  39. 39. vendredi 27 avril 12 24
  40. 40. Indexationvendredi 27 avril 12 24
  41. 41. Maître Corbeau, sur un arbre perché, Tenait en son bec un fromage. ... 1 Indexationvendredi 27 avril 12 24
  42. 42. Maître Corbeau, sur un arbre perché, Tenait en son bec un fromage. ... 1 Indexationvendredi 27 avril 12 24
  43. 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. 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. 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. 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. 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
  48. 48. vendredi 27 avril 12 26
  49. 49. Historique • Débute en 2004 chez CNET Networks • Donné à Apache en 2006 • http://lucene.apache.org/solr/vendredi 27 avril 12 27
  50. 50. Comment • Utilise Lucene • REST avec JSON et XML • http://localhost:8080/solr/select?q=<query> • http://localhost:8080/solr/update avec XML en POSTvendredi 27 avril 12 28
  51. 51. Principes • Configuration générale : solrconfig.xml • Configuration des types et des champs: schema.xml • Configuration majoritairement statique • Application Web classiquevendredi 27 avril 12 29
  52. 52. Clustering • Partition de données «Sharding» • Rôle des nœuds • écriture • lecture • mixtevendredi 27 avril 12 30
  53. 53. vendredi 27 avril 12 31
  54. 54. Historique • Projet récent (2010) • Créer par Shay Banon (@kimchy) • http://www.elasticsearch.org/vendredi 27 avril 12 32
  55. 55. Comment ? • Utilise Lucene • Tout est REST avec JSON • Née pour le clusteringvendredi 27 avril 12 33
  56. 56. Dynamique • Administration par REST • Pas besoin de connaitre la structure des documents. • mais, pas toujours.  • Clustering trivialvendredi 27 avril 12 34
  57. 57. Extra • River • Percolator • Backup • Super facetting (Graph)vendredi 27 avril 12 35
  58. 58. Extra • River • Percolator • Backup • Super facetting (Graph)vendredi 27 avril 12 35
  59. 59. vendredi 27 avril 12 36
  60. 60. vendredi 27 avril 12 37
  61. 61. vendredi 27 avril 12 38
  62. 62. vendredi 27 avril 12 39
  63. 63. Lucene || SolR || ElasticSearch ?vendredi 27 avril 12 40
  64. 64. Conclusion • Démystifier l’usage d’un moteur de recherche • Plein de fonctionnalités sympas • Simple ?vendredi 27 avril 12 41

×