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

Wie ein Elektronikriese Ingenieure dort trifft, wo sie sind – mit 44 Millionen Produkten im Katalog

Lernen Sie Mohammad Mahboob kennen: Ein Direktor der Suchplattform, der 44 Millionen...

Read More

Von der Suche zu Lösungen: Wie KI-Agenten den digitalen Handel im Jahr 2025 antreiben können

Sehen Sie sich dieses On-Demand-Webinar an und erfahren Sie mehr über die...

Read More

Individuelle KI-Agenten erstellen, ohne eine einzige Zeile Code zu schreiben? Ja, das haben wir getan.

Endlich eine Low-Code-KI-Plattform (wirklich kein Code), mit der die Menschen, die Ihre...

Read More

Quick Links