Lucenes Welt - Ordnen, finden, klassifizieren
 

Like this? Share it with your network

Share

Lucenes Welt - Ordnen, finden, klassifizieren

on

  • 279 views

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 ...

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.

Statistics

Views

Total Views
279
Views on SlideShare
279
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Lucenes Welt - Ordnen, finden, klassifizieren Presentation Transcript

  • 1. Christian Meder & Andrew Kenworthy | inovexLucenes Welt –Ordnen, finden, klassifizieren
  • 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. 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. 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. 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. Motivation19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 5
  • 7. Motivation Google klassisch (2010)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 6
  • 8. Motivation Google klassisch (2010) Relevanz19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 7
  • 9. Motivation Google klassisch (2010) Snippets Autovervollstaendigung19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 8
  • 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. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 10
  • 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. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 12
  • 14. Motivation Google Evolution (2011) Facetten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 13
  • 15. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 14
  • 16. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 15
  • 17. Motivation Amazon19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 16
  • 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. 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. Beispiele19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 19
  • 21. Beispiele Ebay Kleinanzeigen19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 20
  • 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. 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. 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. 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. Projektuebersicht19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 25
  • 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. Projekte19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 27
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Moeglichkeiten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 43
  • 45. Möglichkeiten Beispiel 200919.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 44
  • 46. API19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 45
  • 47. Commit Options19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 46
  • 48. Concurrency19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 47
  • 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. 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. INDEXBelkin→ belkinQUERYBelkin→ belkinBut...belk*→ belk19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 50
  • 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. Schema-less19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 52
  • 54. Distributed, Autosharding19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 53
  • 55. Multitenancy (cf Multicore)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 54
  • 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. 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. Vielen Dank !19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 57