Bereiche über Funktionen in Solr 1.4

Solr 1.4 enthält eine neue Funktion, die Bereichsabfragen oder Bereichsfilter über beliebige Funktionen ermöglicht. Sie ist als Standard-Solr-QParser-Plugin implementiert und kann daher überall dort verwendet werden, wo die Standard-Solr-Query-Syntax akzeptiert wird, indem der Typ der Bereichsabfrage angegeben wird. Hier ist ein Beispiel für einen Filter, der die unteren und oberen Grenzen einer Funktion angibt:

fq={!frange l=0 u=2.2}log(sum(user_ranking,editor_ranking))

Ein weiterer interessanter Einsatzbereich von frange ist der Tausch von Speicher gegen Geschwindigkeit bei Bereichsabfragen für alle Arten von einwertigen Feldern. Sie können frange zum Beispiel für ein String-Feld verwenden, vorausgesetzt, es gibt nur einen Wert pro Feld und numerische Funktionen werden vermieden.

Hier ist zum Beispiel ein Filter, der nur Autoren zwischen martin und rowling zulässt und mit einer Standardbereichsabfrage angegeben wird:
fq=author_last_name:[martin TO rowling]

Und den gleichen Filter mit einer Funktionsbereichsabfrage(frange):
fq={!frange l=martin u=rowling}author_last_name

Dies kann zu erheblichen Leistungsverbesserungen bei Bereichsabfragen mit vielen Termen zwischen den Endpunkten führen, allerdings auf Kosten des Speichers für die nicht invertierte Form des Feldes (d.h. ein FieldCache-Eintrag – wie er auch für die Sortierung verwendet würde). Wenn das betreffende Feld bereits für die Sortierung oder andere Funktionsabfragen verwendet wird, entsteht kein zusätzlicher Speicheraufwand.

Das folgende Diagramm zeigt die Ergebnisse eines Tests von Bereichsabfragen im Vergleich zu Standardbereichsabfragen für ein Stringfeld mit 200.000 eindeutigen Werten. Frange war beispielsweise 14 Mal schneller bei der Ausführung einer Bereichsabfrage/eines Bereichsfilters, die/der 20% der Begriffe im Feld abdeckte. Bei engeren Bereichen, die weniger als 5 % der Werte abdeckten, schnitt die herkömmliche Bereichsabfrage besser ab.

Prozentsatz der abgedeckten Begriffe Schnellste Implementierung Beschleunigung (um wie viel schneller)
100% frange 43.32
20% frange 14.25
10% frange 8.07
5% frange 1.337
1% Abfrage des normalen Bereichs 3.59

Natürlich enthält Solr 1.4 auch die neue TrieRange-Funktionalität , die im Allgemeinen das beste Zeit-/Platzprofil für Bereichsabfragen über numerische Felder bietet.

You Might Also Like

Jenseits der Ladenfront: Wie ACP die Rolle des Händlers erweitert

Seit Jahrzehnten dreht sich das Merchandising um eine einfache Frage: Wie findet...

Read More

Neue Umfrage: 67% der Käufer wollen, dass KI Produkte erklärt, nicht kauft

Verbraucherzentrierte Daten zeigen, dass Kunden nicht wollen, dass die KI für sie...

Read More

Die 5 wichtigsten Anwendungsfälle für ACP im B2B-Handel

Der Aufstieg des agentenbasierten Handels eröffnet B2B-Unternehmen ganz neue Möglichkeiten.

Read More

Quick Links