Apache Solr und Lucene in Version 7 veröffentlicht

Der Open-Source-Suchserver Solr bringt im frischen Release zahlreiche Ergänzungen wie neue Replika-Typen und ein Autoscaling-Policy Framework mit. Auch die zugrundeliegende Bibliothek Lucene hat einige neue Funktionen zu bieten.

In Pocket speichern vorlesen Druckansicht
Apache Solr und Lucene in Version 7 veröffentlicht
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Die Apache-Projekte Lucene und Solr sind nun in Version 7.0 verfügbar. Die meisten Neuerungen finden sich im Enterprise-Suchserver Solr. Eine der wichtigsten Erweiterungen sind neue Replika-Typen, mit der sich die Replizierung steuern lässt. Standard bleibt der bisherige NRT-Typ (Near Real Time), bei dem alle Replikas einen Index aufbauen und einen eigenen Replizierungs-Log führen. Neu ist der PULL-Typ, der auf ein Master-Slave-Konzept setzt: Der Master übernimmt die Indexierung und schickt bei jedem Commit die Änderungen an die Replika.

Das Autoscaling-Policy-Framework steht wohl erst am Anfang der Entwicklung. Es soll die Verwaltung zahlreicher Solr Nodes in einem Cluster vereinfachen und beispielsweise das Zuschalten neuer Nodes automatisieren. Statt alle Änderungen manuell durchzuführen, können Administratoren im Vorfeld Policies festlegen, die den Verteilungsprozess steuern. Solr 7 kann zunächst neue Replikas verteilen. Künftig soll das Framework auch die Verteilung der Shards basierend auf der jeweiligen Auslastung steuern.

Alle APIs verwenden nun als Standardformat eingerücktes JSON, aber das bisherige XML-Format lässt sich durch die Einstellung wt=xml weiterhin verwenden. Die JSON Facet API kennt den neuen Parameter refine, der eine zusätzliche Suchphase für genauere Statistiken anstößt. Neu sind sogenannte Streaming Expressions, die eine Syntax zur statistischen Analyse bieten. Auch gibt es wieder zusätzliche Streaming Evaluators. Nicht zuletzt ist Solr 7 mit Java 9 getestet, das nahezu zeitgleich erscheinen dürfte.

Freilich setzt auch die Lucene-Bibliothek, die als Basis für Solr, aber auch für den Mitbewerber Elasticsearch dient, auf Java 9. Bei den Neuerungen ist ansonsten vor allem zu nennen, dass nun mehrere Threads Delete-Operationen und Dokument-Updates gleichzeitig verarbeiten. Bisher konnte Lucene zwar Dokumente parallel indexieren, aber Löschvorgänge waren auf einen einzelnen Thread begrenzt, was zu Engpässen führen konnte, wenn das System jeweils auf dessen Abschluss warten musste.

Weitere Details lassen sich den offiziellen Ankündigungen von Apache Lucene und Solr entnehmen. Eine vollständige Liste der Neuerungen und Änderungen wie einige als deprecated (überholt) erklärte Features, die vermutlich in Solr 8 verschwinden, findet sich in den Release Notes für die Bibliothek und den Suchserver. (rme)