FacetView ist ein Javascript-Frontend für Apache Solr und ElasticSearch, das von der Open Knowledge Foundation entwickelt wurde und auf GitHub zur Verfügung gestellt worden ist. Das Projekt steht unter der sehr liberalen MIT Lizenz.
Category Archives: Solr
Der TermInfosReader ist in Lucene 3.5 effizienter geworden
Vor ein paar Tagen wurde die Lucene API und der Solr Search Server jeweils in Version 3.5 veröffentlicht. Hier die Ankündigung auf dem Blog von Lucid.
In diesem Zusammenhang ist die unter LUCENE-2205 geführte Optimierung der Speichernutzung von org.apache.lucene.index.TermInfosReader besonders hervorzuheben.
Der Entwickler Aaron McCurry hat sehr lesenswert über seinen Patch gebloggt.
Das war die Berlin Buzzwords 2011
Bei der zweiten Berlin Buzzwords Konferenz dreht sich wieder alles um Search, Store und Scale in großen Datenmengen. Kurz: Es ging um Big Data und damit um die Basistechnologien für den Aufbau und Betrieb von Internet-Suchmaschinen, Social Networks, large scale eCommerce und die Analyse von Massendaten aus Wissenschaft und Forschung.
Die Konferenz richtet sich dabei speziell an Nutzer und Entwickler von Open Source Lösungen in den genannten Bereichen, mit einem Schwerpunkt auf die Arbeit der Apache Foundation und der ihr angegliederten Open Source Projekte mit den entsprechenden Schwerpunkten.
Das Wort “Buzzwords” im Titel der Konferenz zeugt dabei von einer gesunden Portion Selbstironie, da zwar ausschließlich Themen wie die vielbeschworene Cloud und die häufig als Allheilmittel überhöhten NoSQL-Datenkbanken und andere “Buzzword-Technologien” Thema sind, aber Umfang und Tiefe mit der sie behandelt werden weit über das gewohnte Marketing-Geschwätz hinaus gehen.
Die Buzzwords als hands-on Konferenz
Die Konferenz fand diesmal in der Urania statt und dauerte zwei Tage (6. bis 7. Juni 2011). An den Tagen vor- und nach der Konferenz fanden verschiedene Trainings und Hackathons/Workshops statt, die von den zahlreichen Partnerfirmen getragen wurden. Einen Überblick darüber kann man sich hier verschaffen. An dieser Stelle sei nur soviel gesagt: Wer die dafür nötige Zeit investieren konnte, der hatte die Möglichkeit sich binnen weniger Tage einen tiefen Einblick in die einzelnen Themengebiete zu verschaffen und wertvolle Kontakte zu knüpfen.
Da mein Abstecher nach Berlin leider nicht den Besuch der einzelnen Workshops beinhaltete, konzentriere ich mich mit diesem Bericht auf die Themen während der Konferenz. Ich möchte damit vor allen den Daheimgebliebenen einen Überblick über die einzelnen Vorträge bieten und werde den Fokus dabei natürlich vor allem auf das Themenfeld Suche legen.
Montag (Tag 1 der Konferenz)
Der Montag wurde von der Welcome session im Humboldtsaal des Urania eingeläutet und die Organisatoren Isabel Drost, Jan Lehnardt und Simon Willnauer begrüßten die Teilnehmer.
Danach gab Douglas Cutting, seines Zeichens unter anderem Initiator von Apache Lucene, Co-Autor von Apache Nutch und derzeit bei Cloudera hauptberuflich mit seinem jüngsten Kind Apache Hadoop beschäftigt, mit seiner Keynote den Startschuss für Tag 1.
Er konzentrierte sich in seinem Talk auf das Hadoop-Ökosystem und die Entstehungsgeschichte von Lucene, Nutch, Mahout und mehr. Gespickt mit Überlegungen rund um Bandbreite, Storage und Map/Reduce schärfte er das Verständnis des Auditoriums für die Herausforderungen die mit Big Data Computing einher gehen. Das Big Data an sich eine Art sich selbsterfüllende Prophezeiung darstellt fasste Cutting mit dem Satz: “We don’t have Hadoop because we have large data; we have large data because we have Hadoop.” gut zusammen.
Nach einer kleinen Kaffeepause ging es dann über drei Tracks verteilt ans Eingemachte und die Konferenz gabelte sich in Search, NoSQL und einen bunt gemischten Track auf. Allein am ersten Tag spulten die Speaker über 20 verschiedene Vorträge in den einzelnen Sessions ab und es ist weder sinnvoll noch liegt es im Rahmen meiner Möglichkeiten euch Details zu den einzelnen Vorträgen zu bieten. Um beim Thema Search zu bleiben möchte ich euch aber folgende Talks empfehlen:
- Otis Gospodnetić lieferte einen guten Überblick über die Analyse und redaktionelle Pflege von bestehenden Suche-Lösungen. Wer sich noch nicht mit diesem Thema auseinander gesetzt hat, dem sei sein Talk wärmstens empfohlen.
- Direkt nach Otis Talk widmete sich Andrzej Białecki dem Thema distributed search. Er beleuchtete dabei vor allem die damit einhergehenden Herausforderungen wie etwa globale IDF-Berechnung, globale Facettierung, Merging/Ranking von Ergebnislisten und vielen anderen harten Nüssen, die es noch zu knacken gilt.
- Nach dem Mitagessen lieferte Mark Millers Talk Infos darüber wie man dem Solr Search Server Beine macht. Kurz gesagt: Alles zum Cache-Tuning mit Solr.
- Chris Male widmete sich in seinem Vortrag der Solr Client-Library SolrJ. Wer seine Search-Applikation in Java schreibt, der sollte einen Blick riskieren.
Dienstag (Tag 2 der Konferenz)
Der Dienstag wurde von Ted Dunnings ebenso geistreicher wie unterhaltsamer Keynote über die Gegenwart und Zukunft von Hadoop eröffnet. Er knüpfte an Doug Cuttings Keynote vom Vortag an und beleuchtete Gegenwart und Zukunft des Hadoop Ökosystems. Wer wissen möchte was die derzeitige “Suckitude”-Scale von Hadoop ist, warum “Disky-Stuff” tricky ist oder vielleicht einfach ein Freund klarer Worte ist, der sollte sich unbedingt den Talk in der Videoaufzeichnung ansehen und danach in Teds Blog weiter lesen.
Im Anschluss lieferte Uwe Schindler im leider viel zu kleinen Einsteinsaal einen großartigen Talk über Lucene 4.0 und dem sogenannten Flexible Indexing ab. Der Talk war so tiefgreifend technisch, dass mir danach der Kopf schwirrte. Gleichzeitig war ich aber mehr als zuvor davon überzeugt, dass die Lucene-Entwickler genau wissen wo die Reise hin geht. Für die Techies unter euch ist sein Talk highly recommended. Ganz generell waren die Talks im Einstein-Saal dem Namen unseres großen Physikers sehr angemessen. Weitere talks an Tag 2 auf dem Suche-Track:
- Dawid Weiss sprach über DocValues/Column Stride Fields in Lucene 4.0
- Nach dem Mittagessen ging es gleich weiter und Dawid sprach über finite state automata in Lucene und welche Anwendungsgebiete es hierfür gibt.
- Shay Banon sprach über sein “bonsai cooles” ElasticSearch Projekt. Eine verteilte, RESTful Search Engine auf Lucene-Basis. Der Vortrag war im Übrigen so gut besucht, dass er kurzerhand in einen größeren Saal verlegt werden musste.
- Im Anschluss lieferte Lukáš Vlček ein hands-on Beispiel, wie man mit Elastic Search ein öffentliches Mailinglisten-Archiv indexieren und per AJAX-Frontend durchsuchbar machen kann.
- Wer sich bereits an Tag 1 den Talk von Otis Gospodnetić angehört hatte, der dürfte auch an Hannes Kruppas Talk über das A/B Testing bei Internet-Suchmaschinen interessiert gewesen sein.
- Über simples Stemming für die Relevanzoptimierung geht Christoph Goller mit seinem Talk hinaus und zeigt wie man mit Morphologie und named entity extraction bessere Suchergebnisse erhält.
- Abschließend zeigte Stanislaw Osinski wie man mit dem search results clustering plugin in Solr dynamische Cluster mit verwandten Dokumenten bilden und auf dieser Basis ansprechende Suche-Frontends bauen kann.
Fazit
Das war also “meine” Berlin Buzzwords 2011. Wie schon 2010 war die Konferenz im Herzen Berlins wieder ein echter Rundumschlag in Sachen Open Source Search. Mittlerweile sind die Links zu den meisten Folien online und die Videos der einzelnen Vorträge trudeln auch langsam ein.
Den Veranstaltern sei an dieser Stelle für den nahezu reibungslosen Ablauf gedankt und ich freue mich bereits auf die Berlin Buzzwords 2012 .
Weitere Stimmen
Hier noch ein paar gesammelte Stimmen zur Berlin Buzzwords 2011
- Andrew Clegg von Last.fm hat einen Blogpost über die Buzzwords 2011 verfasst, in dem er auch ein paar Hinweise auf interessante Talks gibt.
- Das Developers Blog von nuxeo.com bietet einen einen Überblick über die Konferenz und den Semantic/NLP Hackathon
- Rudolph Jansen hat die Buzzwords mit wenigen worten und vielen Fakten in seinem Überblick bei heise.de zusammengefasst
Apache Solr 3.1 und Lucene 3.1 wurden veröffentlicht
Gestern wurde die Version 3.1 von Apache Lucene released. Nahezu gleichzeitig wurde auch Apache Solr in Version 3.1 veröffentlicht. Der Sprung von Version 1.4.1 auf Version 3.1 bei Solr erklärt sich durch die Zusammenlegung mit dem Lucene-Development, auf dessen Codebase das Solr-Projekt seinen Suche-Server aufbaut.
Die Release-Highlights für beide Softwarestände wurden auf der Homepage des Lucene-Projekts in komprimierter Form zusammengefasst.
Apache Solr und Lucene finden zueinander
Ein einfacher SVN-Checkout hat zu diesem Posting geführt, denn gerade wollte ich eine frische Solr aus dem Repository ziehen. Zunächst flatterte aber nur eine kleine Textdatei auf meine Festplatte, die auf ein anderes Repository verwies. Laut den Commit-Logs ist es mittlerweile schon eine Weile her, dass diese Datei eingepflegt und die Zusammenführung von Solr und der zugrundeliegenden Search-API Lucene abgeschlossen wurde.
Das Ganze ist deshalb keine bloggenswerte Neuigkeit im eigentlichen Sinne, aber ein paar Dinge könnten sich aufgrund der entstehenden Synergien ändern und verbessern. Diese Gedanken wollte ich kurz festhalten.
Zum einen kann man sicher davon ausgehen, dass in Zukunft neue Lucene Features deutlich schneller im Solr Search Server verfügbar sein werden. Anders herum werden Features, die von Solr-Committern entwickelt wurden aber im Grunde besser in die darunterliegende Lucene-API einfließen sollten, nun auch tatsächlich dort landen. Facetten sind sicher ein prominentes Beispiel. Apropos Features: Feature-Dopplungen dürften nun auch der Vergangenheit angehören. Ich weiß zwar nicht ob und wie stark dieses Problem im Fall von Solr/Lucene in der Vergangenheit aufgetreten ist, aber wenn man bedenkt wie häufig in der Software-Entwicklung kleine und große Räder neu erfunden werden kann man davon ausgehen, dass hier in der Vergangenheit Reibungsverluste entstanden sind. Nicht zu unterschätzen sind außerdem die möglichen Verbesserungen in der Codequalität. Beide Projekte sind stark mit Tests durchzogen. Wer nach dem Checkout ein “ant test” durchlaufen lässt weiß das. Es bleibt also zu hoffen, dass sich auch auf dieser Ebene Synergien ergeben und die größtmögliche Kompatibilität beider Produkte zueinander gewährleistet ist.