Seit dem 08. November ist Apache Solr in der Version 6.3 erhältlich. Neben diversen Fehlerkorrekturen und Optimierungen haben auch einige neue Features ihren Weg in die Suchmaschine gefunden. Nach initialen Tests zu den neuen Funktionalitäten soll im Folgenden Feedback zu
- dem neuen ResponseWriter für xlsx-Formate
- der neuen Facetten-Funktionalität facet.exists=true und
- der erweiterten SQL-Query-Syntax
gegeben werden.
xlsx-ResponseWriter
Die Möglichkeit, Solr-Antworten in Excel-Tabellen anzuzeigen war schon vor dem neuen Release vorhanden. Allerdings war zu diesem Zweck der Umweg über den csv-ResponseWriter notwendig. Mit dem neuen xlsx-ResponseWriter gehören diese Umstände der Vergangenheit an. Um das Excel-Antwort-Format nutzen zu können, sind lediglich zwei kleine Anpassungen für die Bibliothekspfade vorzunehmen, wie im Solr Reference Guide beschrieben:
cp contrib/extraction/lib/*.jar server/solr-webapp/webapp/WEB-INF/lib/
cp dist/solr-cell-6.3.0.jar server/solr-webapp/webapp/WEB-INF/lib/
Danach kann der xlsx-ResponseWriter über Angabe des Parameters wt=xlsx verwendet werden. Die Belegung des rows-Parameters entscheidet dabei über die Anzahl an Zeilen, die in den Output übernommen werden. So finden sich mit den Standard-Einstellungen (rows=10) lediglich die ersten zehn Dokumente der Solr-Antwort in der Excel-Arbeitsmappe wieder.
Abfrage von Facettenwerten
Die Angabe einer Facette generiert die jeweiligen Facettenwerte stets mit der zugehörigen Anzahl an Dokumenten, welche dem Wert zugeordnet werden können. Für manche Anwendungsfälle mag die Anzahl an Dokumenten jedoch uninteressant sein und es ist lediglich wichtig, ob ein bestimmter Facettenwert in den Antwort-Dokumenten vorkommt oder nicht. Das unnötig verzögernde Berechnen der Menge passender Dokumente kann ab Solr 6.3 über einfaches Angeben des zusätzlichen Parameters facet.exists=true verhindert werden. Als Ergebnis wird für vorhandene Facettenwerte eine 1 eingetragen.
Erweiterte SQL-Syntax
Die SQL-Fähigkeit von Solr 6 wurde bereits in einem früheren Blogbeitrag ausführlich beschrieben. Die Verwendung von SELECT-Statements für die Suche mit Apache Solr folgt dabei den SQL-eigenen Syntaxregeln. Ab Solr 6.3 sind nun auch Sonderzeichen wie <, <=, > und >= mit ihrer üblichen Bedeutung anwendbar. Damit können nun Abfragen wie
SELECT price from techproducts WHERE price<=100.0
an den sql-RequestHandler gesendet werden.
Weitere Neuerungen
Zu den genannten Erweiterungen verspricht die neue Solr-Version die Möglichkeit zum Hinzufügen eigener Streaming Expressions sowie die neuen Expressions fetch, executor und commit, die Verwendung von AI-Modellen, MoreLikeThis-Unterstützung für SolrJ, Erweiterung des DELETEREPLICA-Kommandos, Verbesserungen des Loggings, höhere Timeout-Grenzen und vieles mehr. Wie gewohnt kann hier eine vollständige Liste der Neuerungen eingesehen und die neue Solr-Version 6.3.0 heruntergeladen werden.
Happy Searching!