Erweiterte Range Facette – Teil2 der “News rund um Weiterentwicklungen von Solr” – Blogserie
Es ist ein weiterer Artikel aus der Blogserie „News rund um Weiterentwicklungen von Solr“. Der erste Teil des Artikels hat sich mit dem Thema Scheduler auseinandergesetzt.
Nachfolgend möchte ich eine weitere sinnvolle Weiterentwicklung vorstellen, die in den nächsten Solr Releases zur Verfügung stehen wird.
Für die Solr Version 4.2 ist eine Verbesserung bzw. Erweiterung bei den Range Facetten geplant. Momentan kann man relativ einfach Range Facetten konfigurieren, in dem man facet.range.start, facet.range.end und facet.range.gap definiert. Solr liefert dann für das entsprechende Feld (numerisch bzw. Datum) eine Facette mit gleich dimensionierten „Blöcken“ zurück.
Dies Verhalten ist gewünscht und reicht erfahrungsgemäß in 95% der Anwendungsfälle aus. Wir stoßen jedoch immer wieder, vor allem im E-Commerce Umfeld, auf die Anforderung die Gaps nicht so starr sondern flexibel zu gestalten. Bei Preis Facetten ist oft gewünscht, dass man eine Facette bekommt mit unterschiedlichen Bereichsgrößen, beispielsweise 0 bis 10, dann 10 bis 100 und als drittes 100 bis 1000.
Mehr als nur ein Gap
Dies geht mit der herkömmlichen Range Facette nicht und musste über den facet.query Mechanismus abgebildet werden. Dies ist bei dem kleinen Beispiel kein Problem, jedoch wird das bei komplexeren Anforderungen schnell eine Riesenmenge an einzelnen facet.query Parametern; und genau hier setzt die Erweiterung der Range Facette an.
Zukünftig wird man bei dem Parameter facet.range.gap nicht nur einen Wert für die Größe des zu berechnenden Bereiches geben, sondern man wird beliebig viele angeben können. Für das oben beschriebene Preis Facetten Beispiel könnte der Parameter wie folgt aussehen:
facet.range.gap=10,90,990
Als Ergebnis liefert Solr eine Standard-Range Facette (siehe folgende Abbildung).
Sollte das Ende der Range Facette nicht auf 1000 beschränkt sein, sondern beispielsweise auf 2000, wiederholt sich der Zyklus der einzelnen Bereiche, d.h. es werden weitere Einträge in der Facette mit folgenden Bereichen generiert: 1000 bis 1010, 1010 bis 1100 uns 1100 bis 2000.
Weiterführende Informationen
Newsletter
Anmelden |