Christian Meder & Andrew Kenworthy | inovexLucenes Welt –Ordnen, finden, klassifizieren
Lucenes Welt:                     Ordnen,                      Finden,                       Klassifizieren               ...
Speaker                                                Andrew Kenworthy                                                Sch...
Speaker                                                Christian Meder                                                Schw...
Agenda                                                                                                            Motivat...
Motivation19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   5
Motivation        Google klassisch (2010)19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und...
Motivation        Google klassisch (2010)       Relevanz19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich...
Motivation        Google klassisch (2010)       Snippets   Autovervollstaendigung19.04.2012     Wir nutzen Technologien, u...
Motivation        Google klassisch (2010)     Antwortzeiten     Spellchecker     Aehnliche Seiten (More like this)19.04.20...
Motivation        Google Evolution (2011)19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und...
Motivation        Google Evolution (2011)       Facetten  Instant Search                                         Vorschau1...
Motivation        Google Evolution (2011)19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und...
Motivation        Google Evolution (2011)                   Facetten19.04.2012     Wir nutzen Technologien, um unsere Kund...
Motivation        Google Evolution (2012)                                                                                 ...
Motivation        Google Evolution (2012)                 SPYW19.04.2012     Wir nutzen Technologien, um unsere Kunden glü...
Motivation        Amazon19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   16
Motivation       usability.de „Die Aussage eines Probanden bei einem Usability-Test einer Faceted Search Lösung im Rahmen ...
Motivation       osscensus.org                                            Rank        Package                Installs     ...
Beispiele19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   19
Beispiele       Ebay Kleinanzeigen19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns sel...
Beispiele       Ebay Kleinanzeigen (aus Olaf Zschiedrich solr@ebay Kleinanzeigen)  Site metrics:  • ~ 3.2 M active ads  • ...
Beispiele       Ebay Kleinanzeigen (aus Olaf Zschiedrich solr@ebay Kleinanzeigen)  • 2 datacenters  • 1 Master + 6 Slaves ...
Beispiele       ElasticSearch                                              IGNs search                                  ...
Beispiele       ElasticSearch                                              Sonian Inc.                                  ...
Projektuebersicht19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   25
Projektübersicht       Lucene        Lucene: Suchbibliothek        Solr: Suchserver        Nutch: Crawler        Tika:...
Projekte19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   27
Architektur       Indizierung Inhalte                                                                                     ...
Projekte       Lucene                                                                                          Informatio...
Historie       Lucene        0.01 (2000) Doug Cutting        1.2 (2002) Apache Jakarta Projekt        - 2.9 (2009) Sort...
Projekte       Solr                                                                                      Enterprise Suchs...
Projekte       Solr: Schema                                                                                        enthäl...
Projekte       Solr: Schema, Beispiele Felder         <field name="subject" type="string" indexed="true" stored="true" /> ...
Projekte       Solr: Features                                                                                      Markie...
Historie       Solr        2006 code donation von CNET        1.1: 17.1.2007 aus incubator zu lucene   Subprojekt      ...
Projekte         Solr: Queries              HTTP Interface mit verschiedenen Formaten (XML, JSON...)              Mehrfa...
Projekte         Solr: Einfache Beispiele für q              +goethe +schiller              +goethe -schiller          ...
Projekte         Solr: Beispiele für Parameter              sort=score asc              sort=created asc              s...
Projekte       Nutch                                                                                        Web Crawler  ...
Projekte       Tika                                                                                      Inhaltsanalyse  ...
Projekte       ElasticSearch                                                                                      nutzt L...
Projekte       Mahout                                                                                                    ...
Moeglichkeiten19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   43
Möglichkeiten       Beispiel 200919.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selb...
API19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   45
Commit Options19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   46
Concurrency19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   47
Configorg.apache.solr.common.SolrException: Error opening new searcher.exceeded limit of maxWarmingSearchers=2, try again ...
Solr Wiki:"...every time a new index searcher is opened,some autowarming of the cache occurs beforeSolr hands queries over...
INDEXBelkin→ belkinQUERYBelkin→ belkinBut...belk*→ belk19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu...
MultiCore<solr persistent="false">   <cores adminPath="/admin/cores" defaultCoreName="core0">       <core name="originalco...
Schema-less19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   52
Distributed, Autosharding19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   53
Multitenancy (cf Multicore)19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   54
Lucene & Hadoop     - Hadoop: parallel processing power     - Lucene: dynamic, rapid search   But...     - HDFS: no random...
Bewertung       The road ahead                                                                                          S...
Vielen Dank !19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   57
Nächste SlideShare
Wird geladen in …5
×

Lucenes Welt - Ordnen, finden, klassifizieren

342 Aufrufe

Veröffentlicht am

Google, Amazon und Co. setzen den Standard für performante Such-, Klassifikations- und Vorschlagsfunktionen. Wie können die Apache-Projekte aus dem Lucene-Umfeld hier mithalten? Welche Projekte helfen bei welchen Fragestellungen? Diese Session möchte einen aktuellen Ein- und Überblick über das Apache-Lucene-Ökosystem und seine Anwendungen in den Bereichen Suche, Data Mining und BI geben.

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
342
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Lucenes Welt - Ordnen, finden, klassifizieren

  1. 1. Christian Meder & Andrew Kenworthy | inovexLucenes Welt –Ordnen, finden, klassifizieren
  2. 2. Lucenes Welt: Ordnen, Finden, Klassifizieren JAX, 2012 Andrew Kenworthy Christian Meder inovex GmbH19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 1
  3. 3. Speaker Andrew Kenworthy Schwerpunkte  Business Intelligence  Java  Solr  Hadoop andrew.kenworthy@inovex.de19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 2
  4. 4. Speaker Christian Meder Schwerpunkte  open source (free software)  Linux  Web  Java  Android  CTO@inovex Christian Meder19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 3
  5. 5. Agenda  Motivation  Beispiele  Projektübersicht  Projekte  Möglichkeiten  Bewertung19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 4
  6. 6. Motivation19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 5
  7. 7. Motivation Google klassisch (2010)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 6
  8. 8. Motivation Google klassisch (2010) Relevanz19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 7
  9. 9. Motivation Google klassisch (2010) Snippets Autovervollstaendigung19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 8
  10. 10. Motivation Google klassisch (2010) Antwortzeiten Spellchecker Aehnliche Seiten (More like this)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 9
  11. 11. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 10
  12. 12. Motivation Google Evolution (2011) Facetten Instant Search Vorschau19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 11
  13. 13. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 12
  14. 14. Motivation Google Evolution (2011) Facetten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 13
  15. 15. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 14
  16. 16. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 15
  17. 17. Motivation Amazon19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 16
  18. 18. Motivation usability.de „Die Aussage eines Probanden bei einem Usability-Test einer Faceted Search Lösung im Rahmen dieser Studie ist damit richtungsweisend: „Mit dem Filter hier habe ich das Gefühl, dass selbst eine schnöde Suche richtig Spaß machen kann.”” Quelle: Faceted Search: Die neue Suche im Usability-Test (zum kostenlosen Download unter http://usability.de)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 17
  19. 19. Motivation osscensus.org Rank Package Installs 1 firefox 3761 82% 2 zlib 3118 67% 3 wget 3000 65% 4 xerces 2494 54% 5 prototype 2450 53% 6 eclipse 2428 52% 7 c.-logging 2423 52% 8 docbook-xml 1692 52% 9 lucene 2394 52% 10 xalan 2363 51% 11 commons-lang 2349 51% 12 wsdl4j 2242 48% 13 tk 1557 48% 14 samba 1554 48% 15 activation 2175 47%19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 18
  20. 20. Beispiele19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 19
  21. 21. Beispiele Ebay Kleinanzeigen19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 20
  22. 22. Beispiele Ebay Kleinanzeigen (aus Olaf Zschiedrich solr@ebay Kleinanzeigen) Site metrics: • ~ 3.2 M active ads • 16 – 24 M PVs per day • Peak hours = 1.8 M PVs (~ 500 PVs per second) Solr request metrics: • ~ 60 M requests per day • Peak hours = ~ 1500 request per second Avg. response time • 20 ms (search) and 3 ms for auto-suggest19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 21
  23. 23. Beispiele Ebay Kleinanzeigen (aus Olaf Zschiedrich solr@ebay Kleinanzeigen) • 2 datacenters • 1 Master + 6 Slaves per datacenter Slaves show very low resource consumption. Could go down to 4 slaves per datacenter while still having 50% overcapacity • Master only used for indexing • Load balancer in front of slaves • Varnish in front of slaves (for dedicated use cases) • Working closely with SITE-OPS Team • DEV-OPS are part of development process19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 22
  24. 24. Beispiele ElasticSearch  IGNs search  10 nodes / 2 clusters  56 M documents  Scala over TCP  PHP/JS over HTTP  ~5k rpm19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 23
  25. 25. Beispiele ElasticSearch  Sonian Inc.  Cloud electronic document search  20+ cluster  5 billion documents  Index into 100s TB19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 24
  26. 26. Projektuebersicht19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 25
  27. 27. Projektübersicht Lucene  Lucene: Suchbibliothek  Solr: Suchserver  Nutch: Crawler  Tika: Inhaltsanalyse  ElasticSearch (Compass): Suchserver  Mahout: Machine Learning  ManifoldCF: Repository Connectors (incubation)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 26
  28. 28. Projekte19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 27
  29. 29. Architektur Indizierung Inhalte Solr Bereitstellung Aufbereitung Lucene Analyse Indizierung Index19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 28
  30. 30. Projekte Lucene  Information Retrieval Bibliothek  Kern einer Sucharchitektur  effizient  skalierbar  Viele Ports: .Net, C, Python  Vielfach integriert in Produkte19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 29
  31. 31. Historie Lucene  0.01 (2000) Doug Cutting  1.2 (2002) Apache Jakarta Projekt  - 2.9 (2009) Sortieren, Datums- und Zahlenfelder, Bereichsfelder, near realtime search, neue Analyzer, ...  3.0 (2009) cleanup release, deprecations  3.1 - 3.6 (2011/2012) performance, grouping, autocomplete Verbesserungen, facet, join, ...19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 30
  32. 32. Projekte Solr  Enterprise Suchserver  XML über HTTP  skalierbar  Adminoberfläche  schema-basiert  viele Analyse-Klassen  Handler, Filter, Facetten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 31
  33. 33. Projekte Solr: Schema  enthält Felder / Feldtypen  Feldtypen mit unterschiedlichen Analysern  dynamische Felder  CopyField  Konfigurierbare Textanalyse  Listen von Synonymen, Stopp- Wörtern, etc.19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 32
  34. 34. Projekte Solr: Schema, Beispiele Felder <field name="subject" type="string" indexed="true" stored="true" /> <field name="contactPhotoURL" type="string" indexed="false" stored="true" /> <field name="priceperhour" type="sfloat" indexed="true" stored="true" /> <field name="created" type="date" indexed="true" stored="true" /> <field name="subject" type="string" indexed="true" stored="true" multiValued="true" /> <field name="all_text" type="text" indexed="true" stored="false" /> <dynamicField name="skills_*" type="text" indexed="true" stored="true" multiValued="true" /> <copyField source="subject" dest="all_text" />19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 33
  35. 35. Projekte Solr: Features  Markierte Treffer  Spellchecker  MoreLikeThis  Dismax Query  DataImportHandler: DB, XML, ...  Indexanalyse19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 34
  36. 36. Historie Solr  2006 code donation von CNET  1.1: 17.1.2007 aus incubator zu lucene Subprojekt  1.2: 2.6.2007 spellcheck, sounds-like, ...  1.3: 15.9.2008 verteiltes Suchen, ...  1.4: 10.11.2009 db dataimporthandler, ...  3.1 – 3.6 (2011/2012) geospatial support, grouping/collapsing, ...19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 35
  37. 37. Projekte Solr: Queries  HTTP Interface mit verschiedenen Formaten (XML, JSON...)  Mehrfachsortierung  Auto Suggest  Dismax query  Snippets  Spelling suggestions  More Like This  einfache Datumsberechnungen  Function Query  einfache Statistik (min, max, ...)  Facetten Suche (Filtern nach mehreren Facetten)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 36
  38. 38. Projekte Solr: Einfache Beispiele für q  +goethe +schiller  +goethe -schiller  title:faust  title:faust AND -all_text:goethe  “romeo and juliet”  water*  water~  created:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]  price:[20 TO 50]  price:[100 TO *]19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 37
  39. 39. Projekte Solr: Beispiele für Parameter  sort=score asc  sort=created asc  sort=created asc, title asc  start=10  rows=20  fl=*  fl=id, title  fl=*, score  created:[NOW/DAY-1MONTH TO NOW/DAY]  fq=created:[NOW/DAY-2YEARS TO NOW/DAY]&fq=all_text:poetry19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 38
  40. 40. Projekte Nutch  Web Crawler  verteilt, parallel  Erstellt gerichteten Graphen  Multi-Format (HTML, PDF, Office, Tika, ...)  MapReduce, Hadoop  Lucene oder Solr19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 39
  41. 41. Projekte Tika  Inhaltsanalyse  Extrahiert Metadaten und strukturierte Inhalte  nutzt existierende Parser  große und wachsende Anzahl an Formaten  weitere Parser einfach ergänzbar19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 40
  42. 42. Projekte ElasticSearch  nutzt Lucene  Facetten, Typen, ...  elastic: sharding/replicas automatisch  schemalos  Vorgänger: Compass Framework19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 41
  43. 43. Projekte Mahout  Machine Learning  Empfehlungen  Clustering  Classification  Hadoop  Zahlreiche Algorithmen19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 42
  44. 44. Moeglichkeiten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 43
  45. 45. Möglichkeiten Beispiel 200919.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 44
  46. 46. API19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 45
  47. 47. Commit Options19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 46
  48. 48. Concurrency19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 47
  49. 49. Configorg.apache.solr.common.SolrException: Error opening new searcher.exceeded limit of maxWarmingSearchers=2, try again later.request: http://localhost:8983/solr/update?commit=true&waitFlush=true&waitSearcher=true&... at ...In standard solr configuration:<maxWarmingSearchers>2</maxWarmingSearchers>19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 48
  50. 50. Solr Wiki:"...every time a new index searcher is opened,some autowarming of the cache occurs beforeSolr hands queries over to that version of thecollection. It is crucial to individual query latencythat queries have warmed caches."→ Near-Real-Time (Lucene since 2.9,Solr/trunk, ElasticSearch)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 49
  51. 51. INDEXBelkin→ belkinQUERYBelkin→ belkinBut...belk*→ belk19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 50
  52. 52. MultiCore<solr persistent="false"> <cores adminPath="/admin/cores" defaultCoreName="core0"> <core name="originalcore" instanceDir="core0"> <property name="dataDir"value="/data/core0" /> </core> <core name="newcore" instanceDir="core1" > <property name="dataDir"value="/data/core1" /> </core> </cores></solr>19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 51
  53. 53. Schema-less19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 52
  54. 54. Distributed, Autosharding19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 53
  55. 55. Multitenancy (cf Multicore)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 54
  56. 56. Lucene & Hadoop - Hadoop: parallel processing power - Lucene: dynamic, rapid search But... - HDFS: no random read/writes - Solr: distributed indexes So... - Index built in HDFS, export to local - HBase19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 55
  57. 57. Bewertung The road ahead  Solr: einfach, konfigurierbar, skalierbar, endnutzerfreundlich  Lucene: lowlevel, komplexer, volle Flexibilität  ElasticSearch: relativ neu, aber automatische Skalierung  Mahout: komplex, mächtig, skalierbar19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 56
  58. 58. Vielen Dank !19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 57

×