Your SlideShare is downloading. ×
  • Like
Lucene's Welt
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Lucene's Welt

  • 619 views
Published

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 …

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.

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
619
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. Motivation19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 5
  • 6. Motivation Google klassisch (2010)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 6
  • 7. Motivation Google klassisch (2010) Relevanz19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 7
  • 8. Motivation Google klassisch (2010) Snippets Autovervollstaendigung19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 8
  • 9. 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
  • 10. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 10
  • 11. Motivation Google Evolution (2011) Facetten Instant Search Vorschau19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 11
  • 12. Motivation Google Evolution (2011)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 12
  • 13. Motivation Google Evolution (2011) Facetten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 13
  • 14. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 14
  • 15. Motivation Google Evolution (2012) SPYW19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 15
  • 16. Motivation Amazon19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 16
  • 17. 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
  • 18. 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
  • 19. Beispiele19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 19
  • 20. Beispiele Ebay Kleinanzeigen19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 20
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. Projektuebersicht19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 25
  • 26. 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
  • 27. Projekte19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 27
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. Moeglichkeiten19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 43
  • 44. Möglichkeiten Beispiel 200919.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 44
  • 45. API19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 45
  • 46. Commit Options19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 46
  • 47. Concurrency19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 47
  • 48. 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
  • 49. 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
  • 50. INDEXBelkin→ belkinQUERYBelkin→ belkinBut...belk*→ belk19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 50
  • 51. 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
  • 52. Schema-less19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 52
  • 53. Distributed, Autosharding19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 53
  • 54. Multitenancy (cf Multicore)19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 54
  • 55. 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
  • 56. 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
  • 57. Vielen Dank !19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 57