SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Christian Meder & Andrew Kenworthy | inovex

Lucenes Welt –
Ordnen, finden, klassifizieren
Lucene's Welt:
                     Ordnen,
                      Finden,
                       Klassifizieren
                                                 JAX, 2012

                                                      Andrew Kenworthy
                                                      Christian Meder
                                                      inovex GmbH
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   1
Speaker


                                                Andrew Kenworthy
                                                Schwerpunkte
                                                
                                                  Business Intelligence
                                                
                                                  Java
                                                
                                                  Solr
                                                
                                                  Hadoop
                                                andrew.kenworthy@inovex.de


19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   2
Speaker
                                                Christian Meder
                                                Schwerpunkte
                                                
                                                  open source (free
                                                software)
                                                
                                                  Linux
                                                
                                                  Web
                                                
                                                  Java
                                                
                                                  Android
                                                
                                                  CTO@inovex
                                                        Christian Meder
19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   3
Agenda

                                                     
                                                       Motivation
                                                     
                                                       Beispiele
                                                     
                                                       Projektübersicht
                                                     
                                                       Projekte
                                                     
                                                       Möglichkeiten
                                                     
                                                       Bewertung



19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   4
Motivation

19.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 uns selbst.   6
Motivation
        Google klassisch (2010)




       Relevanz



19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   7
Motivation
        Google klassisch (2010)




       Snippets

   Autovervollstaendigung


19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   8
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
Motivation
        Google Evolution (2011)




19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   10
Motivation
        Google Evolution (2011)




       Facetten
  Instant Search                                         Vorschau
19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   11
Motivation
        Google Evolution (2011)




19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   12
Motivation
        Google Evolution (2011)




                   Facetten


19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   13
Motivation
        Google Evolution (2012)




                                                                                 SPYW
19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   14
Motivation
        Google Evolution (2012)




                 SPYW
19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   15
Motivation
        Amazon




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

19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   19
Beispiele
       Ebay Kleinanzeigen




19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   20
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-suggest
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   21
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 process
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   22
Beispiele
       ElasticSearch




                      
                        IGN's search
                      
                        10 nodes / 2 clusters
                      
                        56 M documents
                      
                        Scala over TCP
                      
                        PHP/JS over HTTP
                      
                        ~5k rpm


19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   23
Beispiele
       ElasticSearch




                      
                        Sonian Inc.
                      
                        Cloud electronic document search
                      
                        20+ cluster
                      
                        5 billion documents
                      
                        Index into 100s TB



19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   24
Projektuebersicht

19.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: 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
Projekte

19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   27
Architektur
       Indizierung

 Inhalte


                                                                                                 Solr
             Bereitstellung



                               Aufbereitung


                                                                                           Lucene
                                                 Analyse


                                                                 Indizierung


                                                                                         Index

19.04.2012      Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.      28
Projekte
       Lucene
                                           
                                               Information Retrieval
                                           Bibliothek
                                           
                                               Kern einer Sucharchitektur
                                           
                                               effizient
                                           
                                               skalierbar
                                           
                                               Viele Ports: .Net, C, Python
                                           
                                               Vielfach integriert in
                                           Produkte
19.04.2012      Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   29
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
Projekte
       Solr

                                         
                                             Enterprise Suchserver
                                         
                                             XML über HTTP
                                         
                                             skalierbar
                                         
                                             Adminoberfläche
                                         
                                             schema-basiert
                                         
                                             viele Analyse-Klassen
                                         
                                             Handler, Filter, Facetten
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   31
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
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
Projekte
       Solr: Features

                                         
                                             Markierte Treffer
                                         
                                             Spellchecker
                                         
                                             MoreLikeThis
                                         
                                             Dismax Query
                                         
                                             DataImportHandler: DB,
                                         XML, ...
                                         
                                             Indexanalyse
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   34
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
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
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
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:poetry

19.04.2012        Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   38
Projekte
       Nutch
                                          
                                              Web Crawler
                                          
                                              verteilt, parallel
                                          
                                              Erstellt gerichteten
                                          Graphen
                                          
                                              Multi-Format (HTML, PDF,
                                          Office, Tika, ...)
                                          
                                              MapReduce, Hadoop
                                          
                                              Lucene oder Solr
19.04.2012     Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   39
Projekte
       Tika
                                         
                                             Inhaltsanalyse
                                         
                                             Extrahiert Metadaten und
                                         strukturierte Inhalte
                                         
                                             nutzt existierende Parser
                                         
                                             große und wachsende
                                         Anzahl an Formaten
                                         
                                             weitere Parser einfach
                                         ergänzbar
19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   40
Projekte
       ElasticSearch
                                         
                                             nutzt Lucene
                                         
                                             Facetten, Typen, ...
                                         
                                             elastic: sharding/replicas
                                         automatisch
                                         
                                             schemalos
                                         
                                             Vorgänger: Compass
                                         Framework

19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   41
Projekte
       Mahout


                                                   
                                                       Machine Learning
                                                   
                                                       Empfehlungen
                                                   
                                                       Clustering
                                                   
                                                       Classification
                                                   
                                                       Hadoop
                                                   
                                                       Zahlreiche Algorithmen


19.04.2012      Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   42
Moeglichkeiten

19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   43
Möglichkeiten
       Beispiel 2009




19.04.2012    Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   44
API




19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   45
Commit Options




19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   46
Concurrency




19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   47
Config

org.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
Solr Wiki:
"...every time a new index searcher is opened,
some autowarming of the cache occurs before
Solr hands queries over to that version of the
collection. It is crucial to individual query latency
that 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
INDEX
Belkin
→ belkin

QUERY
Belkin
→ belkin

But...

belk*
→ belk


19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   50
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
Schema-less




19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   52
Distributed, Autosharding




19.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 read/writes
     - Solr: distributed indexes
   So...
     - Index built in HDFS, export to local
     - HBase
19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   55
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,
                                           skalierbar
19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   56
Vielen Dank !

19.04.2012   Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.   57

Mais conteúdo relacionado

Semelhante a Lucenes Welt - Ordnen, finden, klassifizieren

120715 agile requirements_handout
120715 agile requirements_handout120715 agile requirements_handout
120715 agile requirements_handoutAndreas Birk
 
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...Stefan Seifarth
 
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Michael Maretzke
 
knowtech2011-Verwaltung2.0
knowtech2011-Verwaltung2.0knowtech2011-Verwaltung2.0
knowtech2011-Verwaltung2.0TwentyOne AG
 
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)Praxistage
 
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)LinkedIn D-A-CH
 
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...NETBAES
 
Sharepoint, Liferay & Co.: Social Business Integration in der Praxis
Sharepoint, Liferay & Co.: Social Business Integration in der PraxisSharepoint, Liferay & Co.: Social Business Integration in der Praxis
Sharepoint, Liferay & Co.: Social Business Integration in der Praxisinovex GmbH
 
Macheten für den Testdschungel
Macheten für den TestdschungelMacheten für den Testdschungel
Macheten für den TestdschungelChristian Heger
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenMatthias Stürmer
 
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben?
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben? Social Media und Management 2.0 - Kann es im Management beim Alten bleiben?
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben? University St. Gallen
 
Content Strategy im Praxistest / CS in der agilen Produktentwicklung
Content Strategy im Praxistest / CS in der agilen ProduktentwicklungContent Strategy im Praxistest / CS in der agilen Produktentwicklung
Content Strategy im Praxistest / CS in der agilen ProduktentwicklungArne Kittler
 
Dev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdfDev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdfCarolinaMatthies
 
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...Socialbar
 
Method of the Mental Model UPA2010 Karen Lindemann
Method of the Mental Model UPA2010 Karen LindemannMethod of the Mental Model UPA2010 Karen Lindemann
Method of the Mental Model UPA2010 Karen LindemannKaren Lindemann
 
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...eparo GmbH
 
Das Social Intranet der Detecon International GmbH
Das Social Intranet der Detecon International GmbHDas Social Intranet der Detecon International GmbH
Das Social Intranet der Detecon International GmbHnetmedianer GmbH
 

Semelhante a Lucenes Welt - Ordnen, finden, klassifizieren (20)

Web2.0 im Unternehmen
Web2.0 im UnternehmenWeb2.0 im Unternehmen
Web2.0 im Unternehmen
 
120715 agile requirements_handout
120715 agile requirements_handout120715 agile requirements_handout
120715 agile requirements_handout
 
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...
Morning Session: Qualitätskriterien für erfolgreiche Websites - für "Nicht-Te...
 
2010 09-knowtech-back-koch-e20cases.ppt
2010 09-knowtech-back-koch-e20cases.ppt2010 09-knowtech-back-koch-e20cases.ppt
2010 09-knowtech-back-koch-e20cases.ppt
 
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
 
knowtech2011-Verwaltung2.0
knowtech2011-Verwaltung2.0knowtech2011-Verwaltung2.0
knowtech2011-Verwaltung2.0
 
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)
Sabine Bühn, Bernd Aschauer (Aschauer IT & Business)
 
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)
Webinar-Serie mit LinkedIn: Social Recruiting einsetzen (Suchfilter)
 
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...
Open Innovation nur ein kurzer Trend oder langfristige Grundlage der zeitgemä...
 
Sharepoint, Liferay & Co.: Social Business Integration in der Praxis
Sharepoint, Liferay & Co.: Social Business Integration in der PraxisSharepoint, Liferay & Co.: Social Business Integration in der Praxis
Sharepoint, Liferay & Co.: Social Business Integration in der Praxis
 
Macheten für den Testdschungel
Macheten für den TestdschungelMacheten für den Testdschungel
Macheten für den Testdschungel
 
Das Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimierenDas Potential von Open Source Software nutzen und die Risiken minimieren
Das Potential von Open Source Software nutzen und die Risiken minimieren
 
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben?
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben? Social Media und Management 2.0 - Kann es im Management beim Alten bleiben?
Social Media und Management 2.0 - Kann es im Management beim Alten bleiben?
 
Content Strategy im Praxistest / CS in der agilen Produktentwicklung
Content Strategy im Praxistest / CS in der agilen ProduktentwicklungContent Strategy im Praxistest / CS in der agilen Produktentwicklung
Content Strategy im Praxistest / CS in der agilen Produktentwicklung
 
Dev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdfDev Day Stephan Pirnbaum.pdf
Dev Day Stephan Pirnbaum.pdf
 
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
Markus Schranner: "Das Lean Startup Prinzip - Potentiale für NGOs und soziale...
 
Method of the Mental Model UPA2010 Karen Lindemann
Method of the Mental Model UPA2010 Karen LindemannMethod of the Mental Model UPA2010 Karen Lindemann
Method of the Mental Model UPA2010 Karen Lindemann
 
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...
eparo – User Experience Design und Usability. Niemand sagt mehr "Konzeption" ...
 
SQLTXPLAIN - Oder: Warum performt mein SQL nicht?
SQLTXPLAIN - Oder: Warum performt mein SQL nicht?SQLTXPLAIN - Oder: Warum performt mein SQL nicht?
SQLTXPLAIN - Oder: Warum performt mein SQL nicht?
 
Das Social Intranet der Detecon International GmbH
Das Social Intranet der Detecon International GmbHDas Social Intranet der Detecon International GmbH
Das Social Intranet der Detecon International GmbH
 

Mais de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Mais de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Lucenes Welt - Ordnen, finden, klassifizieren

  • 1. Christian Meder & Andrew Kenworthy | inovex Lucenes Welt – Ordnen, finden, klassifizieren
  • 2. Lucene's Welt: Ordnen, Finden, Klassifizieren JAX, 2012 Andrew Kenworthy Christian Meder inovex GmbH 19.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.de 19.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 Meder 19.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  Bewertung 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 4
  • 6. Motivation 19.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) Relevanz 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 7
  • 9. Motivation Google klassisch (2010) Snippets Autovervollstaendigung 19.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 Vorschau 19.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) Facetten 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 13
  • 15. Motivation Google Evolution (2012) SPYW 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 14
  • 16. Motivation Google Evolution (2012) SPYW 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 15
  • 17. Motivation Amazon 19.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. Beispiele 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 19
  • 21. Beispiele Ebay Kleinanzeigen 19.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-suggest 19.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 process 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 22
  • 24. Beispiele ElasticSearch  IGN's search  10 nodes / 2 clusters  56 M documents  Scala over TCP  PHP/JS over HTTP  ~5k rpm 19.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 TB 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 24
  • 26. Projektuebersicht 19.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. Projekte 19.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 Index 19.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 Produkte 19.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, Facetten 19.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, ...  Indexanalyse 19.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:poetry 19.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 Solr 19.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änzbar 19.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 Framework 19.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 Algorithmen 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 42
  • 44. Moeglichkeiten 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 43
  • 45. Möglichkeiten Beispiel 2009 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 44
  • 46. API 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 45
  • 47. Commit Options 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 46
  • 48. Concurrency 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 47
  • 49. Config org.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 before Solr hands queries over to that version of the collection. It is crucial to individual query latency that 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. INDEX Belkin → belkin QUERY Belkin → belkin But... belk* → belk 19.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-less 19.04.2012 Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. 52
  • 54. Distributed, Autosharding 19.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 - HBase 19.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, skalierbar 19.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