Wer suchet...

Apache Lucene und Solr 5.3.0 erschienen: Was ist neu?

Uwe Schindler

Nach der Sommerpause wurde das nächste Release von Apache Lucene und dem zugehörigen Suchserver Apache Solr veröffentlicht. Wir werfen einen Blick auf die Neuerungen in Lucene/Solr 5.3.0.

Lucene 5.3.0

Apache Lucene hat in dieser Version hauptsächlich viele Verbesserungen im neuen Modul “spatial3d” erhalten, welches es ermöglicht, Abfragen auch im dreidimensionalen Raum durchzuführen. Aber auch das konventionelle Geo-Modul wurde erweitert: Ein neues, bisher experimentelles Lucene-Codec erlaubt es nun, flächige Geo-Objekte wie Bounding Boxen oder gar Polygone so im Index abzulegen, dass diese ressourcenschonend abgefragt werden können. Besonders Polygone haben da bisher große Probleme gemacht. Das neue Codec implementiert dazu ein neuartiges Docvalues-Format, welches die Datenstruktur des BKD-Tree benutzt, um schnell solche flächigen Objekte zu verscheiden.

Aber auch im Kern von Lucene wurde einiges verbessert: So wurde ein neues BlendedTermQuery hinzugefügt, welches es ermöglicht, auf einem Feld wie herkömmlich zu suchen, jedoch die Term-Statistiken eines anderen Feldes für das Scoring zu verwenden (“blending”). Außerdem wurde das Term-Dictionary dahingehend verbessert, dass besonders Abfragen mit Wildcards und regulären Ausdrücken schneller funktionieren. Für Block-Join Indexe (die Implementierung hinter “Nested Documents” in Solr oder Elasticsearch) wurde ein Kommandozeilen-Tool entwickelt, das die Konsistenz eines solchen Indexes überprüfen kann. Desweiteren wurden zahlreiche Bugs beseitigt, unter anderem solche, die es unmöglich machten, Lucene-Indexe auf schreibgeschützten Medien abzulegen oder in Enterprise Environments einzusetzen, welche durch Java SecurityManager abgesichert werden. Die automatische Erkennung von SSDs für die Optimierung der Lucene-Indexer-Konfiguration auf solche nicht-rotierenden Geräte wurde nun auch auf die Erkennung der neuen NVMe-SSDs erweitert.

Neu in Apache Solr

Apache Solr baut auf diesen neuen Features auf. Nutzer können diese mit dem zeitgleich zu Lucene veröffentlichten Release des Suchservers auch schon gleich benutzen. Darüber hinaus hat Solr aber auch neue Funktionen und Verbesserungen bekommen: Zuallererst erlaubt Solr, in Multi-Core-Konfigurationen schon Suchanfragen anzunehmen, bevor alle Cores gestartet wurden. Große Indexe, welche nicht sofort benötigt werden, bremsen daher nach einem Neustart nicht die Bereitstellung der kleinen (mit zum Beispiel wichtigen, aktuellen Daten). Auch die neue Facetting-/Aggregations-Engine wurde weiterentwickelt: Es ist nun möglich, Facetten auf Nested Documents zu berechnen. Außerdem kann Solr jetzt neben XML oder JSON auch das bekannte, hochkomprimierte Smile-Format ausliefern. Auch das neue Sicherheits-Modul aus Solr 5.2 wurde um weitere Plug-ins erweitert; nun ist auch Basic-Auth darüber konfigurierbar. Damit ist jetzt auf einfache Weise zum Beispiel die Admin-Oberfläche schnell abzusichern.

Zudem basiert Solr jetzt nicht mehr auf einer konventionellen Webapplikation. Es kann daher ab Version 5.3 wirklich nur noch standalone aufgerufen werden. Dies wurde zwar schon mit Version 5.0 eingeleitet, aber seit 5.3 wird nun auch keine WAR-Datei mehr in der Distribution mit ausgeliefert. Solr kann also nicht mehr ohne weiteres in fremde Applikationsserver eingebettet werden (was aber auch nie empfohlen wurde). Der HTTP-Netzwerkstack von Solr basiert jetzt auf Jetty Version 9.2.11.

Durch einige Bugfixes in enger Zusammenarbeit mit IBM wird nun auch die alternative JVM “IBM J9” von beiden Projekten unterstützt (ab JDK Version 8). Die Startskripte von Solr wurden auch entsprechend angepasst. Lucene funktionierte “theoretisch” zwar schon immer mit IBM J9, aber zahlreiche Bugs in dieser VM machten dies sehr riskoreich für die Datensicherheit.

Die Liste der Änderungen von Apache Lucene und Apache Solr sind auf der Projekt-Webseite zu finden. Viel Spaß beim Suchen & Finden!

Geschrieben von
Uwe Schindler
Uwe Schindler
Uwe Schindler ist Mitglied des Project Management Committee im Apache-Lucene-Projekt. Er ist mit seiner Consulting-Firma SD DataSolutions GmbH in Bremen ansässig und kümmert sich am Zentrum für Marine Umweltwissenschaften (MARUM) um die Suche nach geowissenschaftlichen Daten in der Umweltdatenbank PANGAEA.Blog: http://blog.thetaphi.deTwitter: @ThetaPh1
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: